summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Stoeckmann <tobias@cvs.openbsd.org>2008-02-03 16:59:12 +0000
committerTobias Stoeckmann <tobias@cvs.openbsd.org>2008-02-03 16:59:12 +0000
commitc5bee9b77e859fa642c97be06613bd046d890c7f (patch)
tree65b7e62f4930caa396644f602714a209b40833d7
parentf59a8e323d46c73a65b0846179698e44b7ea8bc2 (diff)
Do not unify this "-fr UNKNOWN" handling, it breaks commands which have
to work fine and just ignore files which don't have requested symbol. Spotted by joris@.
-rw-r--r--usr.bin/cvs/annotate.c7
-rw-r--r--usr.bin/cvs/rcs.c10
2 files changed, 8 insertions, 9 deletions
diff --git a/usr.bin/cvs/annotate.c b/usr.bin/cvs/annotate.c
index 2e8c6cc9feb..7996d19ed0b 100644
--- a/usr.bin/cvs/annotate.c
+++ b/usr.bin/cvs/annotate.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: annotate.c,v 1.49 2008/02/02 16:59:48 tobias Exp $ */
+/* $OpenBSD: annotate.c,v 1.50 2008/02/03 16:59:11 tobias Exp $ */
/*
* Copyright (c) 2007 Tobias Stoeckmann <tobias@openbsd.org>
* Copyright (c) 2006 Xavier Santolaria <xsa@openbsd.org>
@@ -161,6 +161,11 @@ cvs_annotate_local(struct cvs_file *cf)
/* Stick at weird GNU cvs, ignore error. */
return;
+ /* -f is not allowed for unknown symbols */
+ rev = rcsnum_parse(cvs_specified_tag);
+ if (rev == NULL)
+ fatal("no such tag %s", cvs_specified_tag);
+ rcsnum_free(rev);
rev = rcsnum_alloc();
rcsnum_cpy(cf->file_rcs->rf_head, rev, 0);
}
diff --git a/usr.bin/cvs/rcs.c b/usr.bin/cvs/rcs.c
index d10d0e68561..fab8c63ad5b 100644
--- a/usr.bin/cvs/rcs.c
+++ b/usr.bin/cvs/rcs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rcs.c,v 1.244 2008/02/02 16:59:48 tobias Exp $ */
+/* $OpenBSD: rcs.c,v 1.245 2008/02/03 16:59:11 tobias Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -2657,14 +2657,8 @@ rcs_translate_tag(const char *revstr, RCSFILE *rfp)
rev = rcs_sym_getrev(rfp, revstr);
}
- /*
- * Although many cvs commands do have option -f to force head
- * if a revision is not found, GNU cvs simply fatals with
- * unknown symbols. If we reach this point rev is still NULL,
- * do the same...
- */
if (rev == NULL)
- fatal("no such tag %s", revstr);
+ return (NULL);
/*
* If it was not a branch, thats ok the symbolic