> I’m doing some testing and documentation in preparation for migrating from
> CVS to Subversion.
> I’m using svn, version 1.6.16 (r1073529) on Cygwin.
>
> I’m having some difficulty with merging to release branches that I haven’t
> been able to find a solution for (other than continuing our old CVS way of
> patching changes to active release branches).
>
> The problem is this – there are inherently many changes between a release
> branch and the main trunk (the older the release branch, the more the
> number of changes). When we fix a bug and want to put the fix in several
> releases, ONLY that change should be merged/patched.
>
> So I made some changes in the trunk and committed them. I made some
> changes that I expect to merge cleanly and some that I know will cause
> conflicts due to differences between the code in the main trunk and older
> release branches.
>
> I then tried various different ways of merging just that change to a release
> branch. I tried (all while in the top of the working copy of the target branch):
>
> svn merge -c 9840 $SVNHVAURL/argus/trunk
> svn merge -r 9839:9840 $SVNHVAURL/argus/trunk
> svn merge $SVNHVAURL/argus/trunk_at_9839
> $SVNHVAURL/argus/trunk_at_9840
>
> and a bunch of other ways as well (including using the trunk’s working copy
> as the source).
>
> In all the cases, the conflicts that showed up included all of the differences
> between the trunk and the branch (including in sections of the affected files
> that weren’t anywhere near any of the test changes and so therefore didn’t
> need to be merged).
>
> As a comparison I tried:
>
> svn diff -r 9839:9840 $SVNHVAURL/argus/trunk
>
> That actually showed me just the changes that had been made. So the
> question is how to get merge to apply just what svn diff shows and not try to
> bring the release branch all the way up to the code that is in the trunk? If I
> can’t find a way to do that reliably, we’ll be forced to sticking with patch ☹
What does:
svn diff -c 9840 $SVNHVAURL/argus/trunk
...show? Does it show more than you're expecting?
Whatever it shows is the same diff that:
svn merge -c 9840 $SVNHVAURL/argus/trunk
should apply to your wc. Also, can you verify it is the file CONTENTS that are being changed and not just the svn:mergeinfo propery on all those other files?
BOb
Received on 2011-09-02 18:06:56 CEST