[Monetdb-developers] CVS "stable" branch considerations

Fabian Groffen Fabian.Groffen at cwi.nl
Thu Dec 14 16:22:19 CET 2006

Hi all,

A while ago I was discussing the "stable" branch for M5 with Niels, and
we came up with the idea to have a "continuous", "configuration free"
stable branch, to ease the life of developers/team members that prefer
not to live on the (bleeding) edge of novel and exciting technologies.

Basically, what the ground idea is, is that when you check out the
"stable" branch, that you will always get the latest stable branch.  In

HEAD     o=======================o============================~
         \ 1.0                   \ 2.0
stable    \_______+______+_____   \______+______+______+__
          rc_1    rc_2   rc_3            rc_1   rc_2   rc_3

This image is not very different from the current state, but for the 1.0
and the 2.0 release branches, two separate branch names are used:
stable-1_0 and stable-2_0.  This makes that people who checked out
stable-1_0 never get the "next" stable, but instead stay frozen with

The basic idea we had is that people get "upgraded" to the latest stable
if they use the "stable" branch, such that they automatically get the
latest and greatest, but stable whatever product.  For assuring correct
tracability a number of tags can be set on the branch, of course.

Technically speaking, CVS allows to "force" a branch to be created that
already existed, thereby achieving the idea of having a "stable" branch
as described above.

I'm in favour of such branch, as I think it solves a number of problems
with the ever moving branch, and eases CVS use for many of us.  It is
also easier to remember, as I personally always mix up the captitals,
hyphens and underscores.

Now we are at the edge of a big CVS move (are we still?), I thought
may be it's a good idea to use this strategy for all our modules now.

Any thoughts on or complaints against such branch usage?

More information about the developers-list mailing list