> 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 edge) - 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 view.) My 5 cents, Matt -----Original Message----- From: Max Bowsher [mailto:[EMAIL PROTECTED] Sent: Saturday, 12 July 2003 18:08 To: Matthew Herrmann Cc: [EMAIL PROTECTED] Subject: Re: Info-cvs Digest, Vol 8, Issue 6 > -----Original Message----- > From: Larry Jones [mailto:[EMAIL PROTECTED] ... > 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 tagname > 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. Max. _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
