[cvsnt] Re: tag control

Oliver Giesen ogware at gmx.net
Mon Apr 26 12:37:37 BST 2004


Friedrich Niederreiter wrote:

> However, when using the tag operation we need some
> kind of method to determine which HEAD revision does
> *not* have a specific tag (to ensure that somebody
> does not only commit and then 'forget' to make a tag).

I remember back in the days when I used CS-RCS for version control one 
was encouraged by the UI to give a tag with every commit. It actually 
was a single-step operation so it was less likely to "forget" setting a 
tag. It'd be nice to have something like this in CVS, too.
  E.g. cvs commit -tMyTag -m"Log message" File.txt ...

Anyway, "not"-queries are a bit of a weak spot... The only way I could 
think of off the top of my head of determining whether a given tag is on 
the current HEAD would be first updating to the tag, then running 
another update to the HEAD (i.e. cvs up -A). Those files that got 
updated on the second run did not have the tag on HEAD... Admittedly 
very clumsy and not easily automatable.

However, I don't think this would be a valid check anyway. The tag does 
not necessarily have to be on HEAD. User B could have committed newer 
revisions on top of User A's properly tagged commits already before User 
C performs the check...

You should therefore check whether the tag exists at all and not limit 
your search to HEAD. Looking at the results of cvs log -S -rTag should 
give you that info: If there is any output at all, the tag does already 
exist.


Hope this helps.

-- 
Oliver
----	------------------
JID:	ogiesen at jabber.org
ICQ:	18777742	(http://wwp.icq.com/18777742)



More information about the cvsnt mailing list