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

Re: Branching strategy - Feature vs Release

From: emerson cargnin <echofloripa.yell_at_gmail.com>
Date: 2006-11-08 14:01:13 CET

That's a great topic, congrats for starting it.

In my company we are using svn, and a mix of release and feature
branch. I'm trying to get it to work in a release branching strategy.
But... we have 3/4 big applications. The releases are done per
project, which add a bit of complexity, as sometimes the same
application is released in a 2/3 weeks time-frame, which then the
changes need to be made in both releases branches and trunk, yes, a
mess... :) Other complexity factor is that we store our JSP's in a
different repository, which then needs always to be branched together.
If it wasn't enough, all our code is spread in the same root. We have
fine-grained modules that are used in the three applications, then the
branches are all taken from the this root.

I hope we start having more separated apps, that would include JPS's
and configurations files (the files are stored in a third repo :)) and
following a consistent release branching approach.

My question, what's the best release/branching approach for this type
of releases, that are done per project and not per application.

Emerson

On 08/11/06, Gundersen, Richard <Richard.Gundersen@london-scottish.com> wrote:
> Hi Duncan
>
> Thanks for the reply, but you do have the full history of a file, even
> if it was branched. Every time a change is made to that file, regardless
> of which branch the change was made on, you get a log message (as long
> as the developer writes one).
>
> When you eventually merge it, you'd have one additional log message
> saying something like "Merged from my_branch", as well as all the
> others.
>
> -Richard
>
> -----Original Message-----
> From: Duncan Murdoch [mailto:murdoch@stats.uwo.ca]
> Sent: Wednesday, November 08, 2006 12:00 PM
> To: Gundersen, Richard
> Cc: users@subversion.tigris.org
> Subject: Re: Branching strategy - Feature vs Release
>
> On 11/8/2006 5:06 AM, Gundersen, Richard wrote:
> > Hi All
> >
> >
> >
> > We're having a big debate where I work over whether or not to use the
> > "release" based branching strategy, or the "feature" based way.
> >
> >
> >
> > I've always worked with the latter. These are the reasons why:
> >
> >
> >
> > 1) Trunk is always stable. This always mimics exactly what's in
> > production.
> >
> > 2) I do all new work on a branch (whether it's a small
> > experimental change or a new release which is essentially a collection
> > of new features). This to me has the following additional advantages
> >
> > a. My new changes don't affect the production codebase
> >
> > b. When the customer who requested change X wants it to go live,
> I
> > can merge it in to the trunk (because its own isolated branch), and
> > release only that change (plus whatever was in trunk originally). I
> then
> > commit it, tag it, and hey presto, trunk still mimics production
> > exactly. With the release based approach, with everyone committing
> > different changes to the trunk, when a customer wants change X to go
> > live, I have to tell him that it can go live, but I have to tell
> another
> > customer that because I have to release X, his change Y must also go
> > live too. This situation might never occur with systems that have a
> > simple release lifecycle, but when you're dealing with large systems
> > with different sets of customers (especially if they have different
> > legal requirements, or they are in different countries) I think this
> is
> > really important.
> >
> >
> >
> > The arguments against this approach are often:
> >
> >
> >
> > 1) Merging is hard. I don't like it
> >
> > a. Well, in my experience with Subversion and CVS, merging is
> > actually quite easy. I might have a few conflicts to resolve every now
> > and again, but they are usually pretty easy to iron out, especially if
> I
> > keep my branch up to date with the trunk (which might have had some
> bug
> > fixes done to it over time)
> >
> > 2) Keeping track of lots of branches is hard.
> >
> > a. Not really. If I use a good naming convention, a handful of
> > branches are easy enough to keep track of. It's not as if I'm going to
> > have hundreds of branches to worry about, in reality
> >
> > 3) We have release branches so you know exactly whats on a
> > production server
> >
> > a. So does this approach - whatever is on the trunk is in
> > production. And, a release branch by definition changes over time
> (until
> > it's tagged as final after which there will still be an element of
> > merging involved to get it in sync with the development branch (trunk
> in
> > this case)).
> >
> >
> >
> > I can see why people would favour the release branch strategy, because
> > it 'sounds' much simpler, but I think the benefits of the feature
> based
> > approach far outweigh the negatives. I expect a lot of people to
> > disagree with me, but it's a good debate and I'd welcome any comments.
>
> One other argument in favour of doing development on the trunk and
> release from branches: If you look at the log for a file, you see the
> history of changes, not a series of "lots of changes merged from foo
> branch" messages.
>
> Duncan Murdoch
>
> >
> >
> >
> > Thanks
> >
> >
> >
> > Richard
> >
> >
> >
> >
> >
> >
> > *** Disclaimer ***
> >
> > This electronic communication is confidential and for the exclusive
> use of the addressee. It may contain private and confidential
> information. The information, attachments and opinions contained in this
> E-mail are those of its author only and do not necessarily represent
> those of London Scottish Bank PLC or any other members of the London
> Scottish Group.
> >
> > If you are not the intended addressee, you are prohibited from any
> disclosure, distribution or further copying or use of this communication
> or the information in it or taking any action in reliance on it. If you
> have received this communication in error please notify the Information
> Security Manager at ISM@London-Scottish.com as soon as possible and
> delete the message from all places in your computer where it is stored.
> >
> > We utilise virus scanning software but we cannot guarantee the
> security of electronic communications and you are advised to check any
> attachments for viruses. We do not accept liability for any loss
> resulting from any corruption or alteration of data or importation of
> any virus as a result of receiving this electronic communication.
> >
> > Replies to this E-mail may be monitored for operational or business
> reasons. London Scottish Bank PLC is regulated by the Financial Services
> Authority.
> > ______________________________________________________________________
> > This email has been scanned by the MessageLabs Email Security System.
>
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________
>
> *** Disclaimer ***
>
> This electronic communication is confidential and for the exclusive use of the addressee. It may contain private and confidential information. The information, attachments and opinions contained in this E-mail are those of its author only and do not necessarily represent those of London Scottish Bank PLC or any other members of the London Scottish Group.
>
> If you are not the intended addressee, you are prohibited from any disclosure, distribution or further copying or use of this communication or the information in it or taking any action in reliance on it. If you have received this communication in error please notify the Information Security Manager at ISM@London-Scottish.com as soon as possible and delete the message from all places in your computer where it is stored.
>
> We utilise virus scanning software but we cannot guarantee the security of electronic communications and you are advised to check any attachments for viruses. We do not accept liability for any loss resulting from any corruption or alteration of data or importation of any virus as a result of receiving this electronic communication.
>
> Replies to this E-mail may be monitored for operational or business reasons. London Scottish Bank PLC is regulated by the Financial Services Authority.
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Nov 8 14:02:07 2006

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