summaryrefslogtreecommitdiff
path: root/usr.bin/cvs
diff options
context:
space:
mode:
authorJoris Vink <joris@cvs.openbsd.org>2007-09-22 15:41:47 +0000
committerJoris Vink <joris@cvs.openbsd.org>2007-09-22 15:41:47 +0000
commitbb8e3dc5f95efbf282454fe0d1433c4fe85bb7db (patch)
tree173875eaaab6c1b10ef6105e869edd0768d43c5b /usr.bin/cvs
parentafaae0557aa99d99726d2877278dba0beaa9405d (diff)
in rcs_translate_tag() do not fail when a tag resolved
to a normal revision instead of a branch, its perfectly valid.
Diffstat (limited to 'usr.bin/cvs')
-rw-r--r--usr.bin/cvs/rcs.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/usr.bin/cvs/rcs.c b/usr.bin/cvs/rcs.c
index d93ffbd8d98..f69a87d623f 100644
--- a/usr.bin/cvs/rcs.c
+++ b/usr.bin/cvs/rcs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rcs.c,v 1.219 2007/09/17 10:07:21 tobias Exp $ */
+/* $OpenBSD: rcs.c,v 1.220 2007/09/22 15:41:46 joris Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -2594,9 +2594,13 @@ rcs_translate_tag(const char *revstr, RCSFILE *rfp)
if (rev == NULL)
return (NULL);
- /* If this isn't a branch revision, we have a problem */
+ /*
+ * If it was not a branch, thats ok the symbolic
+ * name refered to a revision, so return the resolved
+ * revision for the given name.
+ */
if (!RCSNUM_ISBRANCH(rev))
- fatal("rcs_translate_tag: tag `%s' is not a branch", revstr);
+ return (rev);
brev = rcsnum_alloc();
rcsnum_cpy(rev, brev, rev->rn_len - 1);