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

Merging from a bug branch to multiple release branches

From: TK Banks <spammymatt94_at_yahoo.com>
Date: Wed, 17 Sep 2008 06:10:33 -0700 (PDT)

I'm an old Clearcase user.  I've never used subversion, but am reading up on subversion 1.5 at svnbook.red-bean.com.  If I'm understanding the "reintegrate" merge function correctly (described in Chapter 4 of that book), then I'm thinking subversion is inadequate to automate a common software development use case.

Say I'm a developer working on a software system that is version controlled by subversion.  The mainline of development is carried out on the trunk; and from the trunk release branches are periodically created:  R1.0, R1.1, etc.

Once a release branch is created it goes through a number of weeks of testing before it's actually released.  One day, someone from our test team finds a bug in my software in R1.7 and asks me to fix it.

So I create a bug branch named BUG302 off of branch R1.7 for purposes of isolating, testing and tracking the changes necessary to fix this bug.

Once I've finished testing my bug fix I need to merge my changes from branch BUG302 back to R1.7.  This seems like a straightforward use of the merge --reintegrate capability of subversion.  But I also need to merge these same deltas back to the trunk.  How can I do this?  In particular this statement:

        a --reintegrate merge is done from branch to trunk,
        the branch is no longer usable for further work."

leaves me thinking this may not be possible at all.  (Actually this is not completely clear to me as "further work" may only mean I can't make further modifications on this branch -- perhaps it is possible to perform additional merges from this branch to other places.)

There is a brief section in the book describing the use of release branches.  There it makes the statment:

    "fixes are ported back and
            forth as necessary"

but it doesn't really give me a clue of how subversion can help in this process.

Most recently I used CVS for software version control and this task was manual (and highly error prone).  I was hoping subversion would offer some mechanism for applying a set of changes to two (or more) branches.

What's steps should I be following to complete this very common use case?

Thanks much,
Matt Busche
Received on 2008-09-17 15:11:02 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.