> 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@9839
> $SVNHVAURL/argus/trunk@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

Reply via email to