james at gogo.co.nz
Thu Nov 18 01:17:03 PST 2010
Looks like the server I was using for my subversion repository has
updated svn to 1.5.7, I found this because svnmerge satrted behaving
very oddly with regard to actually merging, not bringing in some
revisions but not producing any errors either (so I didn't notice) and
still recording them as merged.
I tracked it down to the --ignore-ancestry argument to the svn merge
command (obviously introduced with svn's now built in merge tracking),
or rather, that svnmerge did not provide it, and because ancestry was
obviously screwy due to lots of merging around the place, particular
revisions just silently did not merge.
Altering svnmerge so that it provides --ignore-ancestry to the svn merge
command appears to resolve this particularly insidious problem.
It's worth noting that my repository looks something like
+ -> CLIENT
+ -> SITE
+ -> CLIENT 2
+ -> SITE 2
with some revisions being walked up and down the tree (Site -> Client ->
Trunk -> Client 2 -> Site 2) and some revisions being blocked at certain
points (eg changes specific to Site never get into client or higher).
It's possible that this walking of revisions causes or exacerbates the
problem, perhaps nobody else has the issue.
More information about the Svnmerge