version 1.80, 2006/04/21 07:06:25 |
version 1.81, 2006/04/21 14:18:26 |
|
|
case 'k': |
case 'k': |
kflag = rcs_kflag_get(rcs_optarg); |
kflag = rcs_kflag_get(rcs_optarg); |
if (RCS_KWEXP_INVAL(kflag)) { |
if (RCS_KWEXP_INVAL(kflag)) { |
cvs_log(LP_ERR, |
warnx("invalid RCS keyword expansion mode"); |
"invalid RCS keyword expansion mode"); |
|
(usage)(); |
(usage)(); |
exit(1); |
exit(1); |
} |
} |
break; |
break; |
case 'l': |
case 'l': |
if (flags & CO_UNLOCK) { |
if (flags & CO_UNLOCK) { |
cvs_log(LP_ERR, "warning: -u overridden by -l"); |
warnx("warning: -u overridden by -l"); |
flags &= ~CO_UNLOCK; |
flags &= ~CO_UNLOCK; |
} |
} |
rcs_setrevstr(&rev_str, rcs_optarg); |
rcs_setrevstr(&rev_str, rcs_optarg); |
|
|
case 'u': |
case 'u': |
rcs_setrevstr(&rev_str, rcs_optarg); |
rcs_setrevstr(&rev_str, rcs_optarg); |
if (flags & CO_LOCK) { |
if (flags & CO_LOCK) { |
cvs_log(LP_ERR, "warning: -l overridden by -u"); |
warnx("warning: -l overridden by -u"); |
flags &= ~CO_LOCK; |
flags &= ~CO_LOCK; |
} |
} |
flags |= CO_UNLOCK; |
flags |= CO_UNLOCK; |
|
|
argv += rcs_optind; |
argv += rcs_optind; |
|
|
if (argc == 0) { |
if (argc == 0) { |
cvs_log(LP_ERR, "no input file"); |
warnx("no input file"); |
(usage)(); |
(usage)(); |
exit (1); |
exit (1); |
} |
} |
|
|
if ((username = getlogin()) == NULL) { |
if ((username = getlogin()) == NULL) |
cvs_log(LP_ERRNO, "failed to get username"); |
fatal("getlogin failed"); |
exit (1); |
|
} |
|
|
|
for (i = 0; i < argc; i++) { |
for (i = 0; i < argc; i++) { |
if (rcs_statfile(argv[i], fpath, sizeof(fpath)) < 0) |
if (rcs_statfile(argv[i], fpath, sizeof(fpath)) < 0) |
|
|
(flags & PIPEOUT) ? "standard output" : argv[i]); |
(flags & PIPEOUT) ? "standard output" : argv[i]); |
|
|
if ((flags & CO_LOCK) && (kflag & RCS_KWEXP_VAL)) { |
if ((flags & CO_LOCK) && (kflag & RCS_KWEXP_VAL)) { |
cvs_log(LP_ERR, "%s: cannot combine -kv and -l", fpath); |
warnx("%s: cannot combine -kv and -l", fpath); |
continue; |
continue; |
} |
} |
|
|
|
|
rdp = NULL; |
rdp = NULL; |
if (file->rf_ndelta != 0 && frev == file->rf_head) { |
if (file->rf_ndelta != 0 && frev == file->rf_head) { |
if (lcount > 1) { |
if (lcount > 1) { |
cvs_log(LP_WARN, |
warnx("multiple revisions locked by %s; " |
"multiple revisions locked by %s; " |
|
"please specify one", lockname); |
"please specify one", lockname); |
return (-1); |
return (-1); |
} |
} |
|
|
sizeof(msg)); |
sizeof(msg)); |
} |
} |
|
|
cvs_log(LP_ERR, msg, buf, rdp->rd_locker); |
warnx(msg, buf, rdp->rd_locker); |
return (-1); |
return (-1); |
} |
} |
} |
} |
|
|
|
|
if (file->rf_ndelta != 0) { |
if (file->rf_ndelta != 0) { |
if ((bp = rcs_getrev(file, rev)) == NULL) { |
if ((bp = rcs_getrev(file, rev)) == NULL) { |
cvs_log(LP_ERR, "cannot find revision `%s'", buf); |
warnx("cannot find revision `%s'", buf); |
return (-1); |
return (-1); |
} |
} |
} else { |
} else { |
|
|
|
|
if (file->rf_ndelta == 0 && |
if (file->rf_ndelta == 0 && |
((flags & CO_LOCK) || (flags & CO_UNLOCK))) { |
((flags & CO_LOCK) || (flags & CO_UNLOCK))) { |
cvs_log(LP_WARN, "no revisions, so nothing can be %s", |
warnx("no revisions, so nothing can be %s", |
(flags & CO_LOCK) ? "locked" : "unlocked"); |
(flags & CO_LOCK) ? "locked" : "unlocked"); |
} else if (file->rf_ndelta != 0) { |
} else if (file->rf_ndelta != 0) { |
if (!(flags & QUIET) && !(flags & NEWFILE)) |
if (!(flags & QUIET) && !(flags & NEWFILE)) |
|
|
if (rcs_errno != RCS_ERR_DUPENT) |
if (rcs_errno != RCS_ERR_DUPENT) |
lcount++; |
lcount++; |
if (!(flags & QUIET) && lcount > 1 && !(flags & CO_REVERT)) |
if (!(flags & QUIET) && lcount > 1 && !(flags & CO_REVERT)) |
cvs_log(LP_WARN, "%s: warning: You now have %d locks.", |
warnx("%s: warning: You now have %d locks.", |
file->rf_path, lcount); |
file->rf_path, lcount); |
} |
} |
|
|
|
|
/* default is n */ |
/* default is n */ |
if (cvs_yesno() == -1) { |
if (cvs_yesno() == -1) { |
if (!(flags & QUIET) && isatty(STDIN_FILENO)) |
if (!(flags & QUIET) && isatty(STDIN_FILENO)) |
cvs_log(LP_ERR, |
warnx("writable %s exists; " |
"writable %s exists; checkout aborted", |
"checkout aborted", dst); |
dst); |
|
else |
else |
cvs_log(LP_ERR, "checkout aborted"); |
warnx("checkout aborted"); |
return (-1); |
return (-1); |
} |
} |
} |
} |
|
|
xfree(content); |
xfree(content); |
} else { |
} else { |
if (cvs_buf_write(bp, dst, mode) < 0) { |
if (cvs_buf_write(bp, dst, mode) < 0) { |
cvs_log(LP_ERR, "failed to write revision to file"); |
warnx("failed to write revision to file"); |
cvs_buf_free(bp); |
cvs_buf_free(bp); |
return (-1); |
return (-1); |
} |
} |
|
|
tv[0].tv_sec = (long)rcs_rev_getdate(file, rev); |
tv[0].tv_sec = (long)rcs_rev_getdate(file, rev); |
tv[1].tv_sec = tv[0].tv_sec; |
tv[1].tv_sec = tv[0].tv_sec; |
if (utimes(dst, (const struct timeval *)&tv) < 0) |
if (utimes(dst, (const struct timeval *)&tv) < 0) |
cvs_log(LP_ERRNO, "error setting utimes"); |
warn("utimes"); |
} |
} |
} |
} |
|
|
|
|
if (!(flags & CO_STATE)) |
if (!(flags & CO_STATE)) |
state = NULL; |
state = NULL; |
|
|
cvs_log(LP_ERR, "%s: No revision on branch has%s%s%s%s%s%s.", |
warnx("%s: No revision on branch has%s%s%s%s%s%s.", |
file->rf_path, |
file->rf_path, |
date ? " a date before " : "", |
date ? " a date before " : "", |
date ? date : "", |
date ? date : "", |