cvs is not fully honoring tag deletes
create a tag on a file.
checkout the file using that tag
delete the tag from the file (rtag -d, tag -d -- neither work properly)
various commands will not mistakenly report that the tag still exists.
this is of particular importance because all of our automation scripts
use "rdiff" to test if a tag is "valid".
This is now reporting that tags are valid, when in fact they've been
deleted. :(
for instance:
# create the tag
cvs rtag TEST_TAG somefile
# actually use the tag -- check out the file.
cvs checkout -r TEST_TAG somefile
# delete the file
Rm somefile
# now delete the tag.
cvs rtag -d TEST_TAG somefile
# now, try to rdiff to see if the tag is valid:
cvs -q rdiff -r TEST_TAG somefile
# this is broken -- it returns data, as well as an exit code of
'0', when, in fact, the tag does not exist & should return nothing, as
the tag does not exist.
Compare to:
cvs -q rdiff -r BOGUS_TEST_TAG somefile
cvs [rdiff aborted]: no such tag BOGUS_TEST_TAG
echo $?
1
Also, 'checkout' is broken.
cvs checkout -p -r TEST_TAG somefile
this is returning a 0-byte file, with an exit-code of '0'.
It should return a non-zero exit code & spew an error message.. like:
cvs checkout -p -r BOGUS_TEST_TAG somefile
cvs [checkout aborted]: no such tag BOGUS_TEST_TAG
(exit code is '1')
If you "cvs log" the file, the tag does not exist...
But, if you look at: CVSROOT/val-tags these removed tags still exist in
that file.
Michael R. Whitner
Principal Software Engineer
Sterling Commerce
[email protected]
Tel: +1 734 930 7901
Fax: +1 734 930 3201
www.sterlingcommerce.com
_______________________________________________
Bug-cvs mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/bug-cvs