> 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