>From: Eric Siegerman <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: Restoring vendor tag
>Mail-Followup-To: [EMAIL PROTECTED]
>Content-Disposition: inline
>List-Archive: <http://mail.gnu.org/pipermail/info-cvs/>
>Date: Wed, 14 Mar 2001 00:34:27 -0500
>
>On Tue, Mar 13, 2001 at 04:08:02PM -0800, Stephen Rasku wrote:
>> Is there a way to reconstruct the vendor tag if it's deleted?
>
>Which tag?
>
>The one for the vendor branch itself? CVS doesn't want to do it,
>so you have to punt to RCS:
> cvs admin -nVENDOR:1.1.1
>(where VENDOR is the name you want to use for the vendor-branch
>tag)
>
Yes, that's the tag that I mean. Unfortunately, that command will
abort if there are any files which don't have that version number
(i.e. files added which aren't in the original distribution).
The attached script reproduces the problem and the patch fixes the
problem but I don't recommend that it be applied as is. Although it
fixes this specific problem, there are several places that
RCS_tag2rev() will abort. These should all be modified to return NULL
instead of aborting.
--
Stephen Rasku E-mail: [EMAIL PROTECTED]
Senior Software Engineer Web: http://www.pop-star.net/
TGI Technologies
vendor-test.sh
Index: ChangeLog
===================================================================
RCS file: /ash/cvsroot/tools/cvs/ChangeLog,v
retrieving revision 1.1.1.1
diff -b -u -r1.1.1.1 ChangeLog
--- ChangeLog 2001/02/04 20:23:34 1.1.1.1
+++ ChangeLog 2001/03/19 22:06:42
@@ -1,3 +1,9 @@
+2001-03-19 Stephen Rasku <[EMAIL PROTECTED]>
+
+ * rcs.c (RCS_tag2rev): Don't abort if we can't find the specified
+ revision in the file when doing "cvs admin -nname:version". Just
+ report error and continue on.
+
1999-12-09 Larry Jones <[EMAIL PROTECTED]>
* configure.in: Correctly handle systems that need both libsocket
Index: src/rcs.c
===================================================================
RCS file: /ash/cvsroot/tools/cvs/src/rcs.c,v
retrieving revision 1.3
diff -b -u -r1.3 rcs.c
--- src/rcs.c 2001/03/15 01:03:51 1.3
+++ src/rcs.c 2001/03/19 22:06:43
@@ -2550,7 +2550,8 @@
rev = pb;
if (RCS_exist_rev (rcs, rev))
return rev;
- error (1, 0, "revision `%s' does not exist", tag);
+ free(rev);
+ return NULL;
}