info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Branching suggestions needed...


From: Todd Denniston
Subject: Re: Branching suggestions needed...
Date: Wed, 27 Jun 2007 17:50:55 -0500
User-agent: Thunderbird 1.5.0.12 (X11/20070509)

James Depaul wrote:

Hi folks -

We're trying to decide on a simple branching strategy for our team.  So far
here's what we're planning - please comment on the approach to help us
start small and grow as we learn:

So far, we only use CvS to version individual files (checkout, work on
files, check them back in when you've tested your changes) - currently we
don't use any TAGs, or branches at all.  This works ok but we'd like to
improve that process.  Here's the proposed flow:

Every Wednesday we have scheduled delivery date.  I'm thinking that just
prior to the final build create a /Branch  - I'm thinking of it as a
special TAG that marks the completion of that development cycle.  Do the
build using that /Branch, and deploy it accross the infrastructure (DEV,
QUAL, PROD, respectively).

From that point forward, any code fixes should be done to the /Branch code.
Any NEW development should continue on the /main trunk (and hopefully there
won't be many mistakes - that I'm sure would complicate this for us).

Thus we'd have an early branch each time we build/deploy and any fixes to
that code base would be performed on that /Branch, while new development
would continue in parallel on /trunk.  What I'm not sure about is:  if we
do have fixes when do we need to merge them into the /main trunk code?
What happens if we gave fixes on the /Branch, we merge them into the /trunk
and we have OTHER fixes to make to the prior release?

Your comments will be appreciated -

THanks,
James


I don't see any HUGE problems with what you are suggesting and it may be significantly better than what you have been doing. There are some resources that have talked about the best ways to do things in cvs and with branching in general linked from here:
http://ximbiot.com/cvs/wiki/index.php?title=CVS_FAQ#Source_Configuration_Management_Best_Practices


My suggestion would be implement what you have written above now, to get you in some habit and training with branching, and while the developers are doing code read some of the references, to see if some of them might work better for you or point to any pitfalls[1] you may end up with your current system. My initial impression of your system was Branch Aholic[2], but it looks like you are planning to branch at "release" points, which is normally a good place to put a branch.

[1] http://www.cmcrossroads.com/bradapp/acme/branching/#BranchingTraps
[2] 
http://www.cmcrossroads.com/bradapp/acme/branching/pitfalls.html#BranchAholic


--
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane)
Harnessing the Power of Technology for the Warfighter




reply via email to

[Prev in Thread] Current Thread [Next in Thread]