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 L -- Steve Rothkin Honeywell, Inc. 555 Pleasantville Road, North Bldg Suite 205 Briarcliff Manor, NY 10510 Office: 914-747-7198 Home: 914-762-4566 Cell: 914-420-3235