diff options
author | peter <peter@FreeBSD.org> | 2002-12-02 03:13:37 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2002-12-02 03:13:37 +0000 |
commit | 3dc96f7243ece1d1f7f87b03334f840415e0db63 (patch) | |
tree | 15f00bd8ebd718713d8c0a8707ebebfced99c550 /contrib/cvs/src/classify.c | |
parent | cf46dfb750863d760d19b9858b0a336b158275da (diff) | |
download | FreeBSD-src-3dc96f7243ece1d1f7f87b03334f840415e0db63.zip FreeBSD-src-3dc96f7243ece1d1f7f87b03334f840415e0db63.tar.gz |
Import cvs-1.11.2.1 as of 2002/12/01 onto vendor branch. This fixes all
of the bugs that I know of. We've been running a slightly older version
of this on freefall/repoman, where it was afflicted by a silly merge error
on my part (fixed).
Approved by: re
Diffstat (limited to 'contrib/cvs/src/classify.c')
-rw-r--r-- | contrib/cvs/src/classify.c | 63 |
1 files changed, 39 insertions, 24 deletions
diff --git a/contrib/cvs/src/classify.c b/contrib/cvs/src/classify.c index 9a6489e..285153c 100644 --- a/contrib/cvs/src/classify.c +++ b/contrib/cvs/src/classify.c @@ -102,13 +102,21 @@ Classify_File (finfo, tag, date, options, force_tag_match, aflag, versp, if (vers->ts_user == NULL) { - /* - * There is no user file, but there should be one; remove the - * entry - */ - if (!really_quiet) - error (0, 0, "warning: new-born %s has disappeared", finfo->fullname); - ret = T_REMOVE_ENTRY; + if (pipeout) + { + ret = T_CHECKOUT; + } + else + { + /* + * There is no user file, but there should be one; remove the + * entry + */ + if (!really_quiet) + error (0, 0, "warning: new-born %s has disappeared", + finfo->fullname); + ret = T_REMOVE_ENTRY; + } } else if (vers->vn_rcs == NULL || RCS_isdead (vers->srcfile, vers->vn_rcs)) @@ -116,29 +124,36 @@ Classify_File (finfo, tag, date, options, force_tag_match, aflag, versp, ret = T_ADDED; else { - if (vers->srcfile->flags & INATTIC - && vers->srcfile->flags & VALID) + if (pipeout) { - /* This file has been added on some branch other than - the one we are looking at. In the branch we are - looking at, the file was already valid. */ - if (!really_quiet) - error (0, 0, - "conflict: %s has been added, but already exists", - finfo->fullname); + ret = T_CHECKOUT; } else { - /* - * There is an RCS file, so someone else must have checked - * one in behind our back; conflict - */ - if (!really_quiet) - error (0, 0, + if (vers->srcfile->flags & INATTIC + && vers->srcfile->flags & VALID) + { + /* This file has been added on some branch other than + the one we are looking at. In the branch we are + looking at, the file was already valid. */ + if (!really_quiet) + error (0, 0, + "conflict: %s has been added, but already exists", + finfo->fullname); + } + else + { + /* + * There is an RCS file, so someone else must have checked + * one in behind our back; conflict + */ + if (!really_quiet) + error (0, 0, "conflict: %s created independently by second party", - finfo->fullname); + finfo->fullname); + } + ret = T_CONFLICT; } - ret = T_CONFLICT; } } else if (vers->vn_user[0] == '-') |