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

Tag-promotion model vs merge branch model - what do you think of the consequences

From: Peter Kahn <citizenkahn_at_gmail.com>
Date: 2006-10-31 15:05:51 CET

- Where do you weigh-in on these two methods (tag-promotions v.
branch-merge)?
- Was the decision to not have tags in subversion related to tag-promotion
in some way?

I just ran across a project that used multiple cvs tags to provide for
concurrent development on a single branch with out merging. SVN wouldn't
support such a thing and I'm wondering what you think of the consequences
between tag-promotion and branch-merge models for concurrent development.
Below, I explain my view of the two methods and provide examples.

I have anxiety over the tag-promotion model, but I'm unsure if it is because
it is inherently more risky or because its unfamiliar to me. I think that
it is possible for both to have identical risk because both involve the
eventual combination of changes between multiple projects. Branch-merge
manages the combination in a highly structured way, but has extra effort
associated with it. The tag-promotion method seems like it has less
structure, but also less effort.

Tag-promotion:
 I have a branch on which I'm working on an emergency hotfix and a service
release.
 I have a tag called hotfix
 engineer A, modifies code and updates the hotfix tag to include the
modification versions
 engineer B, modifies code

 I build from tip/HEAD for my service release build
 I build from hotfix tag for my hotfix build

Result, concurrent development with no merging.
Problems: If A's change relies on code that's on the branch but not in the
hotfix label I can have a problem building (bad) or a bug a runtime (really
bad)

Branch-Merge
 I have a main/trunk, a branch for the hotfix and a branch for the service
release
 engineer A modifies files on the hotfix branch
 engineer A merges the files to the service release branch
 engineer A merges the files to the main/trunk
 engineer B modifies files on the service release branch
 engineer B merges the files on the service release branch

 2 changes = 3 merges with each merge taking up engineering time and adding
risk...

I look forward to hearing from people regarding these two methods of
concurrent development. Thanks.

-- 
Peter Kahn
citizenkahn@gmail.com
citizenkahn@jabber80.com, pkahnpie1@AIM, skype: citizenkahn
http://analogoustendencies.blogspot.com/
Awareness - Intention - Action
Received on Tue Oct 31 15:06:57 2006

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.