summaryrefslogtreecommitdiffstats
path: root/usr.bin/cvs/commit.c
diff options
context:
space:
mode:
authorjoris <joris@openbsd.org>2006-07-02 21:01:48 +0000
committerjoris <joris@openbsd.org>2006-07-02 21:01:48 +0000
commit846e2b747370f11676a83ebedbc8f02cba4c618a (patch)
tree731fc8e69897b12a46f40a88da8e2101add70c1c /usr.bin/cvs/commit.c
parentno "servconf.h" needed here (diff)
downloadwireguard-openbsd-846e2b747370f11676a83ebedbc8f02cba4c618a.tar.xz
wireguard-openbsd-846e2b747370f11676a83ebedbc8f02cba4c618a.zip
- abort the commit when files are not correctly up to date.
- do not try to attempt to check for conflict markers when the file is not on disk. found by and okay reyk@
Diffstat (limited to 'usr.bin/cvs/commit.c')
-rw-r--r--usr.bin/cvs/commit.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/usr.bin/cvs/commit.c b/usr.bin/cvs/commit.c
index 795d79a78bb..cf4c9fb8c90 100644
--- a/usr.bin/cvs/commit.c
+++ b/usr.bin/cvs/commit.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: commit.c,v 1.78 2006/06/29 00:41:52 joris Exp $ */
+/* $OpenBSD: commit.c,v 1.79 2006/07/02 21:01:48 joris Exp $ */
/*
* Copyright (c) 2006 Joris Vink <joris@openbsd.org>
* Copyright (c) 2006 Xavier Santolaria <xsa@openbsd.org>
@@ -129,23 +129,27 @@ cvs_commit_check_conflicts(struct cvs_file *cf)
}
if (cf->file_status == FILE_CONFLICT ||
- cf->file_status == FILE_LOST ||
- cf->file_status == FILE_UNLINK)
+ cf->file_status == FILE_UNLINK) {
conflicts_found++;
+ return;
+ }
if (cf->file_status != FILE_REMOVED &&
update_has_conflict_markers(cf)) {
cvs_log(LP_ERR, "conflict: unresolved conflicts in %s from "
"merging, please fix these first", cf->file_path);
conflicts_found++;
+ return;
}
if (cf->file_status == FILE_MERGE ||
cf->file_status == FILE_PATCH ||
- cf->file_status == FILE_CHECKOUT) {
+ cf->file_status == FILE_CHECKOUT ||
+ cf->file_status == FILE_LOST) {
cvs_log(LP_ERR, "conflict: %s is not up-to-date",
cf->file_path);
conflicts_found++;
+ return;
}
if (cf->file_status == FILE_ADDED ||