[Top][All Lists]

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

RE: Info-cvs Digest, Vol 8, Issue 6

From: Matthew Herrmann
Subject: RE: Info-cvs Digest, Vol 8, Issue 6
Date: Mon, 14 Jul 2003 10:01:27 +1000

> Yes, but what if someone commits something between when you decide to run
> the rtag and when you actually run it? That is the danger.

This is a danger only if a release is made and then its contents is not
tested or examined at all afterwards. The key is to tag first and then test
and write release documentation afterwards.

Our process here is:

- create a tag using 'cvs rtag' (on branch usually, or HEAD for bleeding
- get changes between last release and proposed new release
- code review the diffs for change patches (using HTMLChangeLog.xsl)
- test impact of all changes

We then write up release documentation for users. The key is to have a very
clear idea of what it is you are releasing. Without examining each change,
it is just crossing one's fingers anyway.

Using "cvs tag" bases what is released on the checked out revisions of a
certain user's sandbox, which is a complex notion and easy to stuff up,
given cvs's architecture. Users can forget to run "cvs update", and so miss
a bug fix which was supposed to be included in a release. Users may not
include "cvs up -d" and so exclude certain files from a revision because
directories are missing (but another precompiled binary is in their path so
the app still 'seems to work fine'). Users can tag a revision from within a
subtree of the project and thus also create a garbage version. There is no
notion of a particular "state" of a sandbox, so there is no real way of
knowing what you are tagging, it is just some particular point in time when
you happened to check out from the repository.

To me tagging a checked out version feels a bit like: "I checked out the
code, played with it on my computer for 20 minutes and it seemed to work,
let's release exactly that before anyone touches anything". (But that's my

My 5 cents,


-----Original Message-----
From: Max Bowsher [mailto:address@hidden
Sent: Saturday, 12 July 2003 18:08
To: Matthew Herrmann
Cc: address@hidden
Subject: Re: Info-cvs Digest, Vol 8, Issue 6

> -----Original Message-----
> From: Larry Jones [mailto:address@hidden
> Why?  It's "cvs rtag" when used without the -r option that's truely
> dangerous, since you have no way of knowing what revisions you're
> tagging.

Matthew Herrmann wrote:
> I always understood that "cvs rtag" without a "-r" would tag the latest
> version of all files on the trunk, synonymous with "cvs rtag -rHEAD
> module" (?) I had been using it in this manner for some time and not
> experienced behaviour to contradict this.

Yes, but what if someone commits something between when you decide to run
the rtag and when you actually run it? That is the danger.


reply via email to

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