[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "cvs admin -n" aborts if tag not found
From: |
Stephen Rasku |
Subject: |
Re: "cvs admin -n" aborts if tag not found |
Date: |
Mon, 12 Mar 2001 23:43:21 -0800 (PST) |
I wrote:
>
>Tested for CVS 1.10.8 (pserver) on Solaris 7.
>
>If you do:
>
> cvs admin -n<new tag>:<old tag>
>
>from the top of a workspace, it will abort with the following error
if
><old tag> is not found in a file:
>
>RCS file:
/ash/cvsroot/tgx/3rdparty/belcarra/exim/tgx.postinstall.sh,v
>cvs [server aborted]: tag `exim' does not exist
>
>It should, instead, make no modifications to that file and continue
on
>with the rest of the files.
>
I have attached a patch and a script that will reproduce the problem
and verify the fix. The problem was that the function RCS_tag2rev()
would exit the program if it didn't find the requested tag. I have
changed it to return NULL in this case. This function appears to be
called in only one place so this fix should be safe. Where it was
being called, it was already checking for NULL. This makes the patch
trivial.
I tested this on 1.10.8 but it appears that 1.11 has the same code so
the patch should be applied against it as well.
--
Stephen Rasku E-mail: stephen@tgivan.com
Senior Software Engineer Web: http://www.pop-star.net/
TGI Technologies
Index: src/rcs.c
===================================================================
RCS file: /ash/cvsroot/tools/cvs/src/rcs.c,v
retrieving revision 1.1.1.1
diff -b -u -r1.1.1.1 rcs.c
--- src/rcs.c 2001/02/04 20:23:40 1.1.1.1
+++ src/rcs.c 2001/03/13 07:35:50
@@ -2564,8 +2564,7 @@
if (rev)
return rev;
- error (1, 0, "tag `%s' does not exist", tag);
- /* NOT REACHED -- error (1 ... ) does not return here */
+ error (0, 0, "tag `%s' does not exist", tag);
return 0;
}
admin-test.sh
Description: admin-test.sh