Thu Mar 8 21:32:28 2012 UTC ()
Teach rcs about the new cvs "commitid" keyword, so that we don't bitch each
time we play with an RCS file maintained by CVS.


(christos)
diff -r1.12 -r1.13 src/gnu/usr.bin/rcs/lib/rcsbase.h
diff -r1.4 -r1.5 src/gnu/usr.bin/rcs/lib/rcssyn.c
diff -r1.5 -r1.6 src/gnu/usr.bin/rcs/rlog/rlog.1
diff -r1.6 -r1.7 src/gnu/usr.bin/rcs/rlog/rlog.c

cvs diff -r1.12 -r1.13 src/gnu/usr.bin/rcs/lib/Attic/rcsbase.h (expand / switch to unified diff)

--- src/gnu/usr.bin/rcs/lib/Attic/rcsbase.h 2012/01/12 14:10:56 1.12
+++ src/gnu/usr.bin/rcs/lib/Attic/rcsbase.h 2012/03/08 21:32:28 1.13
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: rcsbase.h,v 1.12 2012/01/12 14:10:56 joerg Exp $ */ 1/* $NetBSD: rcsbase.h,v 1.13 2012/03/08 21:32:28 christos Exp $ */
2 2
3/* RCS common definitions and data structures */ 3/* RCS common definitions and data structures */
4 4
5#define RCSBASE "Id: rcsbase.h,v 5.20 1995/06/16 06:19:24 eggert Exp" 5#define RCSBASE "Id: rcsbase.h,v 5.20 1995/06/16 06:19:24 eggert Exp"
6 6
7/* Copyright 1982, 1988, 1989 Walter Tichy 7/* Copyright 1982, 1988, 1989 Walter Tichy
8 Copyright 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert 8 Copyright 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert
9 Distributed under license by the Free Software Foundation, Inc. 9 Distributed under license by the Free Software Foundation, Inc.
10 10
11This file is part of RCS. 11This file is part of RCS.
12 12
13RCS is free software; you can redistribute it and/or modify 13RCS is free software; you can redistribute it and/or modify
14it under the terms of the GNU General Public License as published by 14it under the terms of the GNU General Public License as published by
@@ -23,26 +23,30 @@ GNU General Public License for more deta @@ -23,26 +23,30 @@ GNU General Public License for more deta
23You should have received a copy of the GNU General Public License 23You should have received a copy of the GNU General Public License
24along with RCS; see the file COPYING. 24along with RCS; see the file COPYING.
25If not, write to the Free Software Foundation, 25If not, write to the Free Software Foundation,
2659 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 2659 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27 27
28Report problems and direct all questions to: 28Report problems and direct all questions to:
29 29
30 rcs-bugs@cs.purdue.edu 30 rcs-bugs@cs.purdue.edu
31 31
32*/ 32*/
33 33
34/* 34/*
35 * $Log: rcsbase.h,v $ 35 * $Log: rcsbase.h,v $
 36 * Revision 1.13 2012/03/08 21:32:28 christos
 37 * Teach rcs about the new cvs "commitid" keyword, so that we don't bitch each
 38 * time we play with an RCS file maintained by CVS.
 39 *
36 * Revision 1.12 2012/01/12 14:10:56 joerg 40 * Revision 1.12 2012/01/12 14:10:56 joerg
37 * Second try to sort out the dangling elses. Just use {} markers. 41 * Second try to sort out the dangling elses. Just use {} markers.
38 * Produces identical on amd64. 42 * Produces identical on amd64.
39 * 43 *
40 * Revision 1.11 2012/01/08 13:57:31 tron 44 * Revision 1.11 2012/01/08 13:57:31 tron
41 * Revert last change. The extra while loop intruced by the macro changes 45 * Revert last change. The extra while loop intruced by the macro changes
42 * causes an end-less loop in ci(1) which uses "break" inside one of the 46 * causes an end-less loop in ci(1) which uses "break" inside one of the
43 * macros. 47 * macros.
44 * 48 *
45 * "/etc/security" will now no longer fill up "/" (or "/var" depending on 49 * "/etc/security" will now no longer fill up "/" (or "/var" depending on
46 * file-system layout). 50 * file-system layout).
47 * 51 *
48 * Revision 1.9 1998/09/14 18:36:07 tv 52 * Revision 1.9 1998/09/14 18:36:07 tv
@@ -373,26 +377,27 @@ struct buf { @@ -373,26 +377,27 @@ struct buf {
373struct cbuf { 377struct cbuf {
374 char const *string; 378 char const *string;
375 size_t size; 379 size_t size;
376}; 380};
377 381
378/* Hash table entry */ 382/* Hash table entry */
379struct hshentry { 383struct hshentry {
380 char const * num; /* pointer to revision number (ASCIZ) */ 384 char const * num; /* pointer to revision number (ASCIZ) */
381 char const * date; /* pointer to date of checkin */ 385 char const * date; /* pointer to date of checkin */
382 char const * author; /* login of person checking in */ 386 char const * author; /* login of person checking in */
383 char const * lockedby; /* who locks the revision */ 387 char const * lockedby; /* who locks the revision */
384 char const * state; /* state of revision (Exp by default) */ 388 char const * state; /* state of revision (Exp by default) */
385 char const * name; /* name (if any) by which retrieved */ 389 char const * name; /* name (if any) by which retrieved */
 390 char const * commitid; /* unique commit identifier */
386 struct cbuf log; /* log message requested at checkin */ 391 struct cbuf log; /* log message requested at checkin */
387 struct branchhead * branches; /* list of first revisions on branches*/ 392 struct branchhead * branches; /* list of first revisions on branches*/
388 struct cbuf ig; /* ignored phrases in admin part */ 393 struct cbuf ig; /* ignored phrases in admin part */
389 struct cbuf igtext; /* ignored phrases in deltatext part */ 394 struct cbuf igtext; /* ignored phrases in deltatext part */
390 struct hshentry * next; /* next revision on same branch */ 395 struct hshentry * next; /* next revision on same branch */
391 struct hshentry * nexthsh; /* next revision with same hash value */ 396 struct hshentry * nexthsh; /* next revision with same hash value */
392 long insertlns;/* lines inserted (computed by rlog) */ 397 long insertlns;/* lines inserted (computed by rlog) */
393 long deletelns;/* lines deleted (computed by rlog) */ 398 long deletelns;/* lines deleted (computed by rlog) */
394 char selector; /* true if selected, false if deleted */ 399 char selector; /* true if selected, false if deleted */
395}; 400};
396 401
397/* list of hash entries */ 402/* list of hash entries */
398struct hshentries { 403struct hshentries {

cvs diff -r1.4 -r1.5 src/gnu/usr.bin/rcs/lib/Attic/rcssyn.c (expand / switch to unified diff)

--- src/gnu/usr.bin/rcs/lib/Attic/rcssyn.c 1996/10/15 07:00:26 1.4
+++ src/gnu/usr.bin/rcs/lib/Attic/rcssyn.c 2012/03/08 21:32:28 1.5
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: rcssyn.c,v 1.4 1996/10/15 07:00:26 veego Exp $ */ 1/* $NetBSD: rcssyn.c,v 1.5 2012/03/08 21:32:28 christos Exp $ */
2 2
3/* RCS file syntactic analysis */ 3/* RCS file syntactic analysis */
4 4
5/****************************************************************************** 5/******************************************************************************
6 * Syntax Analysis. 6 * Syntax Analysis.
7 * Keyword table 7 * Keyword table
8 * Testprogram: define SYNTEST 8 * Testprogram: define SYNTEST
9 * Compatibility with Release 2: define COMPAT2=1 9 * Compatibility with Release 2: define COMPAT2=1
10 ****************************************************************************** 10 ******************************************************************************
11 */ 11 */
12 12
13/* Copyright 1982, 1988, 1989 Walter Tichy 13/* Copyright 1982, 1988, 1989 Walter Tichy
14 Copyright 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert 14 Copyright 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert
@@ -29,26 +29,30 @@ GNU General Public License for more deta @@ -29,26 +29,30 @@ GNU General Public License for more deta
29You should have received a copy of the GNU General Public License 29You should have received a copy of the GNU General Public License
30along with RCS; see the file COPYING. 30along with RCS; see the file COPYING.
31If not, write to the Free Software Foundation, 31If not, write to the Free Software Foundation,
3259 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 3259 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33 33
34Report problems and direct all questions to: 34Report problems and direct all questions to:
35 35
36 rcs-bugs@cs.purdue.edu 36 rcs-bugs@cs.purdue.edu
37 37
38*/ 38*/
39 39
40/* 40/*
41 * $Log: rcssyn.c,v $ 41 * $Log: rcssyn.c,v $
 42 * Revision 1.5 2012/03/08 21:32:28 christos
 43 * Teach rcs about the new cvs "commitid" keyword, so that we don't bitch each
 44 * time we play with an RCS file maintained by CVS.
 45 *
42 * Revision 1.4 1996/10/15 07:00:26 veego 46 * Revision 1.4 1996/10/15 07:00:26 veego
43 * Merge rcs 5.7. 47 * Merge rcs 5.7.
44 * 48 *
45 * Revision 5.15 1995/06/16 06:19:24 eggert 49 * Revision 5.15 1995/06/16 06:19:24 eggert
46 * Update FSF address. 50 * Update FSF address.
47 * 51 *
48 * Revision 5.14 1995/06/01 16:23:43 eggert 52 * Revision 5.14 1995/06/01 16:23:43 eggert
49 * (expand_names): Add "b" for -kb. 53 * (expand_names): Add "b" for -kb.
50 * (getdelta): Don't strip leading "19" from MKS RCS dates; see cmpdate. 54 * (getdelta): Don't strip leading "19" from MKS RCS dates; see cmpdate.
51 * 55 *
52 * Revision 5.13 1994/03/20 04:52:58 eggert 56 * Revision 5.13 1994/03/20 04:52:58 eggert
53 * Remove lint. 57 * Remove lint.
54 * 58 *
@@ -166,26 +170,27 @@ static int getdelta P((void)); @@ -166,26 +170,27 @@ static int getdelta P((void));
166static int strn2expmode P((char const*,size_t)); 170static int strn2expmode P((char const*,size_t));
167static struct hshentry *getdnum P((void)); 171static struct hshentry *getdnum P((void));
168static void badDiffOutput P((char const*)) exiting; 172static void badDiffOutput P((char const*)) exiting;
169static void diffLineNumberTooLarge P((char const*)) exiting; 173static void diffLineNumberTooLarge P((char const*)) exiting;
170static void getsemi P((char const*)); 174static void getsemi P((char const*));
171 175
172/* keyword table */ 176/* keyword table */
173 177
174char const 178char const
175 Kaccess[] = "access", 179 Kaccess[] = "access",
176 Kauthor[] = "author", 180 Kauthor[] = "author",
177 Kbranch[] = "branch", 181 Kbranch[] = "branch",
178 Kcomment[] = "comment", 182 Kcomment[] = "comment",
 183 Kcommitid[] = "commitid",
179 Kdate[] = "date", 184 Kdate[] = "date",
180 Kdesc[] = "desc", 185 Kdesc[] = "desc",
181 Kexpand[] = "expand", 186 Kexpand[] = "expand",
182 Khead[] = "head", 187 Khead[] = "head",
183 Klocks[] = "locks", 188 Klocks[] = "locks",
184 Klog[] = "log", 189 Klog[] = "log",
185 Knext[] = "next", 190 Knext[] = "next",
186 Kstate[] = "state", 191 Kstate[] = "state",
187 Kstrict[] = "strict", 192 Kstrict[] = "strict",
188 Ksymbols[] = "symbols", 193 Ksymbols[] = "symbols",
189 Ktext[] = "text"; 194 Ktext[] = "text";
190 195
191static char const 196static char const
@@ -425,26 +430,37 @@ getdelta() @@ -425,26 +430,37 @@ getdelta()
425 LastBranch = &Delta->branches; 430 LastBranch = &Delta->branches;
426 while ((num = getdnum())) { 431 while ((num = getdnum())) {
427 NewBranch = ftalloc(struct branchhead); 432 NewBranch = ftalloc(struct branchhead);
428 NewBranch->hsh = num; 433 NewBranch->hsh = num;
429 *LastBranch = NewBranch; 434 *LastBranch = NewBranch;
430 LastBranch = &NewBranch->nextbranch; 435 LastBranch = &NewBranch->nextbranch;
431 } 436 }
432 *LastBranch = 0; 437 *LastBranch = 0;
433 getsemi(K_branches); 438 getsemi(K_branches);
434 439
435 getkey(Knext); 440 getkey(Knext);
436 Delta->next = num = getdnum(); 441 Delta->next = num = getdnum();
437 getsemi(Knext); 442 getsemi(Knext);
 443 if (getkeyopt(Kcommitid)) {
 444 if (nexttok == ID) {
 445 Delta->commitid = NextString;
 446 nextlex();
 447 } else {
 448 fatserror("missing %s", Kcommitid);
 449 Delta->commitid = NULL;
 450 }
 451 getsemi(Kcommitid);
 452 } else
 453 Delta->commitid = NULL;
438 Delta->lockedby = 0; 454 Delta->lockedby = 0;
439 Delta->log.string = 0; 455 Delta->log.string = 0;
440 Delta->selector = true; 456 Delta->selector = true;
441 Delta->ig = getphrases(Kdesc); 457 Delta->ig = getphrases(Kdesc);
442 TotalDeltas++; 458 TotalDeltas++;
443 return (true); 459 return (true);
444} 460}
445 461
446 462
447 void 463 void
448gettree() 464gettree()
449/* Function: Reads in the delta tree with getdelta(), then 465/* Function: Reads in the delta tree with getdelta(), then
450 * updates the lockedby fields. 466 * updates the lockedby fields.

cvs diff -r1.5 -r1.6 src/gnu/usr.bin/rcs/rlog/Attic/rlog.1 (expand / switch to unified diff)

--- src/gnu/usr.bin/rcs/rlog/Attic/rlog.1 2002/02/08 01:26:52 1.5
+++ src/gnu/usr.bin/rcs/rlog/Attic/rlog.1 2012/03/08 21:32:28 1.6
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1.\" $NetBSD: rlog.1,v 1.5 2002/02/08 01:26:52 ross Exp $ 1.\" $NetBSD: rlog.1,v 1.6 2012/03/08 21:32:28 christos Exp $
2.\" 2.\"
3.de Id 3.de Id
4.ds Rv \\$3 4.ds Rv \\$3
5.ds Dt \\$4 5.ds Dt \\$4
6.. 6..
7.\" Id: rlog.1,v 5.9 1995/06/16 06:19:24 eggert Exp 7.\" Id: rlog.1,v 5.9 1995/06/16 06:19:24 eggert Exp
8.ds i \&\s-1ISO\s0 8.ds i \&\s-1ISO\s0
9.ds r \&\s-1RCS\s0 9.ds r \&\s-1RCS\s0
10.ds u \&\s-1UTC\s0 10.ds u \&\s-1UTC\s0
11.if n .ds - \%-- 11.if n .ds - \%--
12.if t .ds - \(em 12.if t .ds - \(em
13.TH RLOG 1 \*(Dt GNU 13.TH RLOG 1 \*(Dt GNU
14.SH NAME 14.SH NAME
@@ -38,26 +38,28 @@ prints revision number, author, date/tim @@ -38,26 +38,28 @@ prints revision number, author, date/tim
38lines added/deleted (with respect to the previous revision), 38lines added/deleted (with respect to the previous revision),
39locker of the revision (if any), and log message. 39locker of the revision (if any), and log message.
40All times are displayed in Coordinated Universal Time (\*u) by default; 40All times are displayed in Coordinated Universal Time (\*u) by default;
41this can be overridden with 41this can be overridden with
42.BR \-z . 42.BR \-z .
43Without options, 43Without options,
44.B rlog 44.B rlog
45prints complete information. 45prints complete information.
46The options below restrict this output. 46The options below restrict this output.
47.nr n \w'\f3\-V\fP\f2n\fP'+2n-1/1n 47.nr n \w'\f3\-V\fP\f2n\fP'+2n-1/1n
48.ds n \nn 48.ds n \nn
49.if \n(.g .if r an-tag-sep .ds n \w'\f3\-V\fP\f2n\fP'u+\n[an-tag-sep]u 49.if \n(.g .if r an-tag-sep .ds n \w'\f3\-V\fP\f2n\fP'u+\n[an-tag-sep]u
50.TP \*n 50.TP \*n
 51.B \-c
 52Print the commitid if available.
51.B \-L 53.B \-L
52Ignore \*r files that have no locks set. 54Ignore \*r files that have no locks set.
53This is convenient in combination with 55This is convenient in combination with
54.BR \-h , 56.BR \-h ,
55.BR \-l , 57.BR \-l ,
56and 58and
57.BR \-R . 59.BR \-R .
58.TP 60.TP
59.B \-R 61.B \-R
60Print only the name of the \*r file. 62Print only the name of the \*r file.
61This is convenient for translating a 63This is convenient for translating a
62working pathname into an \*r pathname. 64working pathname into an \*r pathname.
63.TP 65.TP

cvs diff -r1.6 -r1.7 src/gnu/usr.bin/rcs/rlog/Attic/rlog.c (expand / switch to unified diff)

--- src/gnu/usr.bin/rcs/rlog/Attic/rlog.c 2012/01/06 15:16:03 1.6
+++ src/gnu/usr.bin/rcs/rlog/Attic/rlog.c 2012/03/08 21:32:28 1.7
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: rlog.c,v 1.6 2012/01/06 15:16:03 joerg Exp $ */ 1/* $NetBSD: rlog.c,v 1.7 2012/03/08 21:32:28 christos Exp $ */
2 2
3/* Print log messages and other information about RCS files. */ 3/* Print log messages and other information about RCS files. */
4 4
5/* Copyright 1982, 1988, 1989 Walter Tichy 5/* Copyright 1982, 1988, 1989 Walter Tichy
6 Copyright 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert 6 Copyright 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert
7 Distributed under license by the Free Software Foundation, Inc. 7 Distributed under license by the Free Software Foundation, Inc.
8 8
9This file is part of RCS. 9This file is part of RCS.
10 10
11RCS is free software; you can redistribute it and/or modify 11RCS is free software; you can redistribute it and/or modify
12it under the terms of the GNU General Public License as published by 12it under the terms of the GNU General Public License as published by
13the Free Software Foundation; either version 2, or (at your option) 13the Free Software Foundation; either version 2, or (at your option)
14any later version. 14any later version.
@@ -21,26 +21,30 @@ GNU General Public License for more deta @@ -21,26 +21,30 @@ GNU General Public License for more deta
21You should have received a copy of the GNU General Public License 21You should have received a copy of the GNU General Public License
22along with RCS; see the file COPYING. 22along with RCS; see the file COPYING.
23If not, write to the Free Software Foundation, 23If not, write to the Free Software Foundation,
2459 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 2459 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 25
26Report problems and direct all questions to: 26Report problems and direct all questions to:
27 27
28 rcs-bugs@cs.purdue.edu 28 rcs-bugs@cs.purdue.edu
29 29
30*/ 30*/
31 31
32/* 32/*
33 * $Log: rlog.c,v $ 33 * $Log: rlog.c,v $
 34 * Revision 1.7 2012/03/08 21:32:28 christos
 35 * Teach rcs about the new cvs "commitid" keyword, so that we don't bitch each
 36 * time we play with an RCS file maintained by CVS.
 37 *
34 * Revision 1.6 2012/01/06 15:16:03 joerg 38 * Revision 1.6 2012/01/06 15:16:03 joerg
35 * Don't use dangling elses. 39 * Don't use dangling elses.
36 * 40 *
37 * Revision 1.5 2011/05/15 14:33:12 christos 41 * Revision 1.5 2011/05/15 14:33:12 christos
38 * register c -> int c 42 * register c -> int c
39 * 43 *
40 * Revision 1.4 1996/10/15 07:00:50 veego 44 * Revision 1.4 1996/10/15 07:00:50 veego
41 * Merge rcs 5.7. 45 * Merge rcs 5.7.
42 * 46 *
43 * Revision 5.18 1995/06/16 06:19:24 eggert 47 * Revision 5.18 1995/06/16 06:19:24 eggert
44 * Update FSF address. 48 * Update FSF address.
45 * 49 *
46 * Revision 5.17 1995/06/01 16:23:43 eggert 50 * Revision 5.17 1995/06/01 16:23:43 eggert
@@ -213,63 +217,67 @@ static void getscript P((struct hshentry @@ -213,63 +217,67 @@ static void getscript P((struct hshentry
213static void getstate P((char*)); 217static void getstate P((char*));
214static void putabranch P((struct hshentry const*)); 218static void putabranch P((struct hshentry const*));
215static void putadelta P((struct hshentry const*,struct hshentry const*,int)); 219static void putadelta P((struct hshentry const*,struct hshentry const*,int));
216static void putforest P((struct branchhead const*)); 220static void putforest P((struct branchhead const*));
217static void putree P((struct hshentry const*)); 221static void putree P((struct hshentry const*));
218static void putrunk P((void)); 222static void putrunk P((void));
219static void recentdate P((struct hshentry const*,struct Datepairs*)); 223static void recentdate P((struct hshentry const*,struct Datepairs*));
220static void trunclocks P((void)); 224static void trunclocks P((void));
221 225
222static char const *insDelFormat; 226static char const *insDelFormat;
223static int branchflag; /*set on -b */ 227static int branchflag; /*set on -b */
224static int exitstatus; 228static int exitstatus;
225static int lockflag; 229static int lockflag;
 230static int commitid;
226static struct Datepairs *datelist, *duelst; 231static struct Datepairs *datelist, *duelst;
227static struct Revpairs *revlist, *Revlst; 232static struct Revpairs *revlist, *Revlst;
228static struct authors *authorlist; 233static struct authors *authorlist;
229static struct rcslockers *lockerlist; 234static struct rcslockers *lockerlist;
230static struct stateattri *statelist; 235static struct stateattri *statelist;
231 236
232 237
233mainProg(rlogId, "rlog", "Id: rlog.c,v 5.18 1995/06/16 06:19:24 eggert Exp") 238mainProg(rlogId, "rlog", "Id: rlog.c,v 5.18 1995/06/16 06:19:24 eggert Exp")
234{ 239{
235 static char const cmdusage[] = 240 static char const cmdusage[] =
236 "\nrlog usage: rlog -{bhLNRt} -ddates -l[lockers] -r[revs] -sstates -Vn -w[logins] -xsuff -zzone file ..."; 241 "\nrlog usage: rlog -{cbhLNRt} -ddates -l[lockers] -r[revs] -sstates -Vn -w[logins] -xsuff -zzone file ...";
237 242
238 register FILE *out; 243 register FILE *out;
239 char *a, **newargv; 244 char *a, **newargv;
240 struct Datepairs *currdate; 245 struct Datepairs *currdate;
241 char const *accessListString, *accessFormat; 246 char const *accessListString, *accessFormat;
242 char const *headFormat, *symbolFormat; 247 char const *headFormat, *symbolFormat;
243 struct access const *curaccess; 248 struct access const *curaccess;
244 struct assoc const *curassoc; 249 struct assoc const *curassoc;
245 struct hshentry const *delta; 250 struct hshentry const *delta;
246 struct rcslock const *currlock; 251 struct rcslock const *currlock;
247 int descflag, selectflag; 252 int descflag, selectflag;
248 int onlylockflag; /* print only files with locks */ 253 int onlylockflag; /* print only files with locks */
249 int onlyRCSflag; /* print only RCS pathname */ 254 int onlyRCSflag; /* print only RCS pathname */
250 int pre5; 255 int pre5;
251 int shownames; 256 int shownames;
252 int revno; 257 int revno;
253 258
254 descflag = selectflag = shownames = true; 259 descflag = selectflag = shownames = true;
255 onlylockflag = onlyRCSflag = false; 260 onlylockflag = onlyRCSflag = false;
256 out = stdout; 261 out = stdout;
257 suffixes = X_DEFAULT; 262 suffixes = X_DEFAULT;
258 263
259 argc = getRCSINIT(argc, argv, &newargv); 264 argc = getRCSINIT(argc, argv, &newargv);
260 argv = newargv; 265 argv = newargv;
261 while (a = *++argv, 0<--argc && *a++=='-') { 266 while (a = *++argv, 0<--argc && *a++=='-') {
262 switch (*a++) { 267 switch (*a++) {
 268 case 'c':
 269 commitid = true;
 270 break;
263 271
264 case 'L': 272 case 'L':
265 onlylockflag = true; 273 onlylockflag = true;
266 break; 274 break;
267 275
268 case 'N': 276 case 'N':
269 shownames = false; 277 shownames = false;
270 break; 278 break;
271 279
272 case 'R': 280 case 'R':
273 onlyRCSflag =true; 281 onlyRCSflag =true;
274 break; 282 break;
275 283
@@ -583,26 +591,28 @@ putadelta(node,editscript,trunk) @@ -583,26 +591,28 @@ putadelta(node,editscript,trunk)
583 591
584 out = stdout; 592 out = stdout;
585 aprintf(out, 593 aprintf(out,
586 "----------------------------\nrevision %s%s", 594 "----------------------------\nrevision %s%s",
587 node->num, pre5 ? " " : "" 595 node->num, pre5 ? " " : ""
588 ); 596 );
589 if ( node->lockedby ) 597 if ( node->lockedby )
590 aprintf(out, pre5+"\tlocked by: %s;", node->lockedby); 598 aprintf(out, pre5+"\tlocked by: %s;", node->lockedby);
591 599
592 aprintf(out, "\ndate: %s; author: %s; state: %s;", 600 aprintf(out, "\ndate: %s; author: %s; state: %s;",
593 date2str(node->date, datebuf), 601 date2str(node->date, datebuf),
594 node->author, node->state 602 node->author, node->state
595 ); 603 );
 604 if (commitid && node->commitid)
 605 aprintf(out, " commitid: %s;", node->commitid);
596 606
597 if ( editscript ) { 607 if ( editscript ) {
598 if(trunk) 608 if(trunk)
599 aprintf(out, insDelFormat, 609 aprintf(out, insDelFormat,
600 editscript->deletelns, editscript->insertlns); 610 editscript->deletelns, editscript->insertlns);
601 else 611 else
602 aprintf(out, insDelFormat, 612 aprintf(out, insDelFormat,
603 editscript->insertlns, editscript->deletelns); 613 editscript->insertlns, editscript->deletelns);
604 } 614 }
605 615
606 newbranch = node->branches; 616 newbranch = node->branches;
607 if ( newbranch ) { 617 if ( newbranch ) {
608 bufautobegin(&branchnum); 618 bufautobegin(&branchnum);