[Svnmerge] Branch to Branch to Trunk Merging

dustin at zmanda.com dustin at zmanda.com
Thu Apr 19 15:04:16 PDT 2007


On Thu, Apr 19, 2007 at 03:42:52PM -0500, Irvine, Chuck R [EQ] wrote:
> Our branching model is to always have the latest release (R) on the
> trunk. Whenever we start on release R+1, we create a release branch for
> R and let R+1 development proceed on the trunk. Say we have three
> releases (R1, R2, and R3). Our branching structure would be:
> 
> 
[ANNOTATED:]
>              /---------------------
>             / R1 E F
>            /
>           /            /---------------
>          /            /  R2
>         /            /
> -------/------------/-------------------
> R1        R2          R3
> A      B     C D
> 
> Where R1 is on the top (oldest) branch, R2 is on the middle (newest)
> branch, and R3 is on the trunk. We want to periodically merge R1 to R2,
> and R2 to R3 (trunk). The documentation is pretty clear on how to merge
> from the branch to the trunk. However, I can't figure out how to use
> svnmerge to merge the the R1 branch to the R2 branch. 

I think the aspect you've left out of all of this is which revision to
start at when you 'init' a branch.  svnmerge takes a guess, but that
guess is only sometimes what you want.  I've annotated your diagram,
above, with letters to represent revisions on particular branches.  In
your case, when you init the R2 branch, it only shares changes A-B with
R1, so you should use
  cd branches/R2 && svnmerge init -r1:B http://../branches/R1
a subsequent 'svnmerge avail' will then show revisions E and F as
available, since they are not included in the revision range marked as
already merged.

I hope that helps?

Dustin

-- 
        Dustin J. Mitchell
        Storage Software Engineer, Zmanda, Inc.
        http://www.zmanda.com/



More information about the Svnmerge mailing list