bug-cvs
[Top][All Lists]
Advanced

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

cvs is not fully honoring tag deletes


From: Whitner, Michael
Subject: cvs is not fully honoring tag deletes
Date: Wed, 11 Mar 2009 15:01:15 -0400

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

address@hidden

Tel: +1 734 930 7901

Fax: +1 734 930 3201

www.sterlingcommerce.com

 

 

 



reply via email to

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