[Zope-Coders] CVS usage - never use an empty string for a tag

Ken Manheimer klm@zope.com
Fri, 16 Aug 2002 11:03:09 -0400 (EDT)


Occasionally the CVS repository tags db ('val-tags') gets a bogus empty 
tag, resulting in warnings when people do updates, like so:

 $ cvs -q up -dP
   cvs server: duplicate key found for `y'

These warnings are harmless, as far as i can tell, except for the 
confusion and clutter they cause.  They result from attempts to use an 
empty string when specifying revisions, eg for the '-j' branch-merge 
action.  That doesn't work, and leaves a bogus entry in the CVS 'val-tags' 
tags bookkeeping file.  Don't do that!

Instead, you probably want to be doing a 'cvs update -A' to get the HEAD
versions of your checked-out files, or the '-j' option to merge changes,
with (if i recall correctly) '-jHEAD' to merge to the head.  See the cvs
man page for details.

I mention this because we've had to go and clear the bogus empty tag from 
our val-tags file twice in the past two days - i figure someone is being 
particularly persistent about trying the empty-string trick to merge 
changes to the head - don't do that!-)

(If anyone has time to look into using CVSROOT/commitinfo to detect and
prevent such commits, that'd be nice, but i'm not even sure commitinfo is
passed enough info to do so, sigh...)

Happy hacking!

-- 
Ken
klm@zope.com