summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.bin/cvs/import.c6
-rw-r--r--usr.bin/cvs/rcs.c12
-rw-r--r--usr.bin/cvs/rcs.h5
3 files changed, 15 insertions, 8 deletions
diff --git a/usr.bin/cvs/import.c b/usr.bin/cvs/import.c
index 835dc0e8830..d3f98274261 100644
--- a/usr.bin/cvs/import.c
+++ b/usr.bin/cvs/import.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: import.c,v 1.26 2005/08/04 12:20:42 xsa Exp $ */
+/* $OpenBSD: import.c,v 1.27 2005/10/15 22:56:02 niallo Exp $ */
/*
* Copyright (c) 2004 Joris Vink <joris@openbsd.org>
* All rights reserved.
@@ -314,7 +314,7 @@ cvs_import_local(CVSFILE *cf, void *arg)
}
rev = rcsnum_brtorev(imp_brnum);
- if (rcs_rev_add(rf, rev, cvs_msg, stamp) < 0) {
+ if (rcs_rev_add(rf, rev, cvs_msg, stamp, NULL) < 0) {
cvs_log(LP_ERR, "failed to add revision: %s",
rcs_errstr(rcs_errno));
rcs_close(rf);
@@ -331,7 +331,7 @@ cvs_import_local(CVSFILE *cf, void *arg)
}
rcsnum_cpy(imp_brnum, rev, 2);
- if (rcs_rev_add(rf, rev, cvs_msg, stamp) < 0) {
+ if (rcs_rev_add(rf, rev, cvs_msg, stamp, NULL) < 0) {
cvs_log(LP_ERR, "failed to add revision: %s",
rcs_errstr(rcs_errno));
rcs_close(rf);
diff --git a/usr.bin/cvs/rcs.c b/usr.bin/cvs/rcs.c
index 9211b99d471..e214d9cb5f8 100644
--- a/usr.bin/cvs/rcs.c
+++ b/usr.bin/cvs/rcs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rcs.c,v 1.89 2005/10/11 00:10:16 joris Exp $ */
+/* $OpenBSD: rcs.c,v 1.90 2005/10/15 22:56:03 niallo Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -1433,10 +1433,13 @@ rcs_getrev(RCSFILE *rfp, RCSNUM *frev)
* one). The <msg> argument specifies the log message for that revision, and
* <date> specifies the revision's date (a value of -1 is
* equivalent to using the current time).
+ * If <username> is NULL, set the author for this revision to the current user.
+ * Otherwise, set it to <username>.
* Returns 0 on success, or -1 on failure.
*/
int
-rcs_rev_add(RCSFILE *rf, RCSNUM *rev, const char *msg, time_t date)
+rcs_rev_add(RCSFILE *rf, RCSNUM *rev, const char *msg, time_t date,
+ const char *username)
{
time_t now;
struct passwd *pw;
@@ -1490,7 +1493,10 @@ rcs_rev_add(RCSFILE *rf, RCSNUM *rev, const char *msg, time_t date)
rcsnum_cpy(old, rdp->rd_next, 0);
rcsnum_free(old);
- if ((rdp->rd_author = cvs_strdup(pw->pw_name)) == NULL) {
+ if (username == NULL)
+ username = pw->pw_name;
+
+ if ((rdp->rd_author = cvs_strdup(username)) == NULL) {
rcs_freedelta(rdp);
return (-1);
}
diff --git a/usr.bin/cvs/rcs.h b/usr.bin/cvs/rcs.h
index 951b03ea4fd..8ebf55ba010 100644
--- a/usr.bin/cvs/rcs.h
+++ b/usr.bin/cvs/rcs.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: rcs.h,v 1.34 2005/10/10 23:37:15 joris Exp $ */
+/* $OpenBSD: rcs.h,v 1.35 2005/10/15 22:56:03 niallo Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -209,7 +209,8 @@ const char *rcs_comment_get(RCSFILE *);
int rcs_comment_set(RCSFILE *, const char *);
int rcs_kwexp_set(RCSFILE *, int);
int rcs_kwexp_get(RCSFILE *);
-int rcs_rev_add(RCSFILE *, RCSNUM *, const char *, time_t);
+int rcs_rev_add(RCSFILE *, RCSNUM *, const char *, time_t,
+ const char *);
int rcs_rev_setlog(RCSFILE *, RCSNUM *, const char *);
int rcs_rev_remove(RCSFILE *, RCSNUM *);
RCSNUM *rcs_tag_resolve(RCSFILE *, const char *);