[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Merging from main trunk to release branch

From: Bob Archer <Bob.Archer_at_amsi.com>
Date: Fri, 2 Sep 2011 12:06:24 -0400

> 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

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.