[GRASS5] CVS tag documentation (was: difficulties with r.proj)

Carl Worth cworth at east.isi.edu
Mon Oct 29 13:01:10 EST 2001

Markus Neteler writes:
 > I would be glad if you send the grasscvstags.html page improved/updated
 > to me (either html or plain text pieces). I know that it is still
 > confusing (and I know that I prefer not to have branches in grass51/),
 > but I need assistance to get grasscvstags.html really useful.

Perhaps just a simple paragraph at the top of the page, entitled "How
branches are used within GRASS", or maybe "CVS branches and the GRASS
development cycle". I'll try to put a paragraph together, but I'm sure
to get it wrong as I am still a bit confused about how this works in
the current model. See the end of my message for one take on this.

Much of my confusion may have resulted from the fact that I became
acquainted with GRASS in the middle of an (exceptionally long?)
release feature freeze, (which should likely be considered complete
now as discussed in previous threads).

I'm also confused about the existence as grass51 in a separate
directory/module in CVS. Are CVS tags and branches not sufficient for
distinguishing between experimental/stable versions of the code? Why
incorporate a version number into a top-level directory name like


PS. Here's an attempt at an explanation for grasscvstags.html This is
something like what I think should be going on, and may not reflect
the current state very well. Especially as it appears that when the
releasebranch_11_april_2001_5_0_0 branch was created that all
development moved to that branch and the head of the CVS tree has gone
neglected. Seems like it would be better to keep most development on
the head instead --- this might also help keep the feature-freeze
release cycles shorter.

But, then again, I'm brand new and I wasn't here to see how or why
things have happened. So I really shouldn't be casting out all kinds
of broad analysis like this. Feel free to ignore me completely. ;-)

CVS, tags, branches and the GRASS development cycle

Most of the time, GRASS development occurs at the head of the CVS
tree. When the code becomes sufficiently stable that it could be
considered a candidate for release, a branch is created in CVS. This
branch may be checked out using the appropriate CVS tag. For example,
on 11 April 2001, the GRASS 5.0.0 branch was created with a tag name
of releasebranch_11_april_2001_5_0_0 grass.

When the branch is created the release is considered "frozen". That
is, no new features will be added to that branch, but only fixes for
bugs. As fixes are applied to the branch, they will also be merged
into the head of the tree, where other experimental development will
continue. After a period of testing and bug fixing, the release branch
will be considered stable and officially released.

More information about the grass-dev mailing list