CVS access policy, branching/tagging, code review, etc.
Mike A. Harris
Tue, 2 Mar 2004 17:02:59 -0500 (EST)
On Tue, 2 Mar 2004, Kaleb S. KEITHLEY wrote:
>Date: Tue, 02 Mar 2004 15:26:59 -0500
>From: Kaleb S. KEITHLEY <firstname.lastname@example.org>
>To: email@example.com, firstname.lastname@example.org
>Content-Type: text/plain; charset=us-ascii; format=flowed
>List-Id: People working on X software releases
>Subject: Re: CVS access policy, branching/tagging, code review, etc.
>(please move this discussion to email@example.com)
>Keith Packard wrote:
>> Around 14 o'clock on Mar 2, John Dennis wrote:
>>>Thus I agree with Egbert, releases should be branched, HEAD is never a
>> Ok, I defer to those with actual product release experience in this area.
>Maybe in some organizations. The way this tree was originally set up it
>is intended that HEAD be the release vehicle.
How does that allow each release to receive bugfix erratum? The
only way to do that is to branch. ALl that is needed to indicate
a stable release snapshot in time is a CVS tag. That can occur
anywhere in the repository really.
Any project including X11 is an evolution of code that develops
over time. As time progresses towards a release, the tree
stabilizes eventually ending up in a release, then new
development occurs again. If you just look at this one concept,
it is a linear progression of code through time. That should be
represented by the CVS trunk a.k.a the CVS "HEAD". By following
the CVS "HEAD" you can follow the progress of the entire codebase
along one single path. Any given stable release should have a
tag on the HEAD, with a branch hanging off of it after that to
track bugfixes for that release.
I don't see the functional purpose of making all development
occur on a branch, then merging the whole thing to the HEAD, just
to tag it, and never use the HEAD again until the next release.
It makes it difficult if not impossible to easily linearly track
the history of the source.
Mike A. Harris ftp://people.redhat.com/mharris
OS Systems Engineer - XFree86 maintainer - Red Hat