[cvsnt] Branching/Tagging Best Practices
rparlee-cvsnt at flyinghippo.com
Fri May 16 06:56:53 BST 2008
Your setup is similar to ours. Except that we practice a 2 week sprint cycle
in which we "release" every 2 weeks. Once we make a release, this goes to
testing. During the next 2 week period, the previous feature set is tested
and any bug fixes are made on the branch. Simultaneously, the new feature
set is committed to HEAD. I think what I'm describing is exactly like what
you are describing except that we force ourselves to release every 2 weeks
instead of just focusing on the next minor/major release.
Does it cause problems having lots of tags? In our system, we are creating
2 tags and 1 new branch every 2 weeks:
So every two weeks:
1. HEAD is tagged as "release-1_0_3-tag"
2. HEAD is branched as "release-1_0_3"
3. Branch "release-1_0_1" is tagged as "release-1_0_2-tag" and released to
our deployment server to be sent to our customer.
"Andreas Tscharner" <andy at vis.ethz.ch> wrote in message
news:g0gjjv$u80$1 at paris.nodomain.org...
> Ryan Parlee wrote:
>> Can someone please review my current tagging/branching methodology and
>> make sure I'm doing this right:
>> ## Rule 1: Do all new (i.e. unstable) work on HEAD
>> ## Rule 2: Do formal bug fixing on a branch:
>> ## Rule 3: Once formal testing period is complete, tag the TEST branch
>> using a "stable" release number and release to clients:
> As Arthur has already said: Your best parctise depends on your workflow.
> Here is how what we do:
> We are about 13 developers working on one product. We commit all new stuff
> to HEAD. At some point, when we are getting closer to the release and one
> part of the team starts working on stuff that gets to the next (not the
> coming) release, we make a branch for the release, e.g. the new stuff for
> the next release still goes to HEAD, the bugfixes for the coming release
> go to the branch _AND_ to the HEAD (merge). This branch is also used after
> the release for our service packs and it's also the same policy: Bugfixes
> for the service pack go the the branch and to the HEAD.
> We used to tag every installable release (also internal ones), but this
> might change in the future as it turned out that we get way to many tags
> and most of them are never used again, so I think we're going to tag
> releases that gets out, e.g. betas.
> Long story short: New stuff to HEAD, for every release a branch. Tags for
> external releases.
> Best regards
> Andreas Tscharner <andy at vis.ethz.ch>
> "Intruder on level one. All Aliens please proceed to level one."
> -- Call in "Alien: Resurrection"
More information about the cvsnt