summaryrefslogtreecommitdiff
path: root/usr.bin/cvs/update.c
diff options
context:
space:
mode:
authorFrederic Cambus <fcambus@cvs.openbsd.org>2016-10-14 20:37:08 +0000
committerFrederic Cambus <fcambus@cvs.openbsd.org>2016-10-14 20:37:08 +0000
commitba7f465f24957a5ee4224a1342a0fea60b4a6710 (patch)
tree66ad6af9fcf88e53a59b51ef0b30de0d09ee1f5c /usr.bin/cvs/update.c
parentfc8e09d3d0849ddd44d3e3436c5b99049ceae1a3 (diff)
Fix update -r and -A.
In certain cases update -r and update -A would not properly set or reset the sticky tag for file(s). From Joris Vink. OK millert@
Diffstat (limited to 'usr.bin/cvs/update.c')
-rw-r--r--usr.bin/cvs/update.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/usr.bin/cvs/update.c b/usr.bin/cvs/update.c
index 2e73aa0b062..11a626c06b9 100644
--- a/usr.bin/cvs/update.c
+++ b/usr.bin/cvs/update.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: update.c,v 1.172 2016/10/13 20:51:25 fcambus Exp $ */
+/* $OpenBSD: update.c,v 1.173 2016/10/14 20:37:07 fcambus Exp $ */
/*
* Copyright (c) 2006 Joris Vink <joris@openbsd.org>
*
@@ -480,10 +480,8 @@ cvs_update_local(struct cvs_file *cf)
if (cvs_cmdop != CVS_OP_UPDATE)
break;
- if (reset_tag != 1 && reset_option != 1)
- break;
-
- if (cf->file_ent != NULL && cf->file_ent->ce_tag == NULL)
+ if (reset_tag != 1 && reset_option != 1 &&
+ cvs_specified_tag == NULL && cvs_specified_date == -1)
break;
if (cf->file_rcs->rf_dead != 1 &&