Annotation of src/usr.bin/cvs/cvs.1, Revision 1.122
1.122 ! joris 1: .\" $OpenBSD: cvs.1,v 1.121 2008/02/26 21:48:30 deraadt Exp $
1.1 jfb 2: .\"
3: .\" Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
1.115 xsa 4: .\" Copyright (c) 2004-2008 Xavier Santolaria <xsa@openbsd.org>
1.1 jfb 5: .\" All rights reserved.
6: .\"
7: .\" Redistribution and use in source and binary forms, with or without
8: .\" modification, are permitted provided that the following conditions
9: .\" are met:
10: .\"
11: .\" 1. Redistributions of source code must retain the above copyright
12: .\" notice, this list of conditions and the following disclaimer.
13: .\" 2. The name of the author may not be used to endorse or promote products
14: .\" derived from this software without specific prior written permission.
15: .\"
16: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
17: .\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
18: .\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
19: .\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20: .\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21: .\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22: .\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23: .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24: .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25: .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26: .\"
1.122 ! joris 27: .Dd $Mdocdate: February 26 2008 $
1.1 jfb 28: .Dt CVS 1
29: .Os
30: .Sh NAME
31: .Nm cvs
1.68 joris 32: .Nd OpenCVS Concurrent Versioning System
1.1 jfb 33: .Sh SYNOPSIS
34: .Nm
1.84 jmc 35: .Bk -words
1.112 ray 36: .Op Fl flnQqRrtVvw
1.1 jfb 37: .Op Fl d Ar root
38: .Op Fl e Ar editor
1.20 jmc 39: .Xo
40: .Oo Fl s
41: .Ar var Ns = Ns Ar val Oc
42: .Xc
1.77 xsa 43: .Op Fl T Ar tmpdir
1.15 jmc 44: .Op Fl z Ar level
1.114 sobrado 45: .Ar command ...
1.84 jmc 46: .Ek
1.1 jfb 47: .Sh DESCRIPTION
48: The
49: .Nm
50: program acts as both client and server for the use of and administration of
51: a CVS source repository.
52: CVS is used to maintain version information on files that are kept in a
53: repository.
54: Although it is more commonly used to track changes in source code, there
1.121 deraadt 55: are no real limitations to the type of files that can be stored in a
1.1 jfb 56: repository.
1.35 jmc 57: For a general introduction to CVS, see
58: .Xr cvsintro 7 .
1.1 jfb 59: .Pp
1.7 jfb 60: .Nm
1.35 jmc 61: reads its startup configuration file,
62: .Pa .cvsrc ,
1.7 jfb 63: from the home directory of the user who invoked it.
64: This file is used to specify implicit options passed to
65: .Nm
66: or one of its commands whenever it is invoked.
1.35 jmc 67: The defaults in the configuration file can be overridden with the
68: .Fl f
69: option (see below).
1.16 jmc 70: See
1.106 jmc 71: .Xr cvs 5
1.16 jmc 72: for further information.
1.7 jfb 73: .Pp
1.96 jmc 74: .Nm
75: also supports
76: keyword substitution \(en
77: see the
78: .Xr rcs 1
79: man page for more information.
80: .Pp
1.1 jfb 81: The following options are supported:
1.61 deraadt 82: .Bl -tag -width Ds
1.1 jfb 83: .It Fl d Ar root
84: Use
85: .Ar root
86: as the path to the root directory of the CVS repository.
87: The value must specify an absolute path.
88: .It Fl e Ar editor
89: Use the program
90: .Ar editor
91: whenever editing log information.
1.8 jmc 92: This option overrides the environment variables CVSEDITOR, VISUAL, and EDITOR.
1.1 jfb 93: .It Fl f
1.7 jfb 94: Do not read the user's configuration file on startup.
1.1 jfb 95: .It Fl l
96: Suppress logging of history information.
1.67 xsa 97: .It Fl n
98: Dry-run mode.
99: Show which files will be used by the command issued
100: without really running it.
1.1 jfb 101: .It Fl Q
102: Be extra quiet.
103: Only error messages will be displayed.
104: .It Fl q
105: Be quiet about reporting.
1.101 xsa 106: .It Fl R
107: Permit checkout from a read-only repository.
1.109 xsa 108: Implies
109: .Fl l .
1.101 xsa 110: See also
111: .Ev CVSREADONLYFS ,
112: below.
1.70 xsa 113: .It Fl r
114: Extract files in read-only mode.
1.20 jmc 115: .It Fl s Ar var Ns = Ns Ar val
116: Set the value of the internal variable
117: .Ar var
118: to the string
119: .Ar val .
1.77 xsa 120: .It Fl T Ar tmpdir
121: Set the value of the directory where temporary files are to be created.
122: The default is set to
123: .Pa /tmp .
1.15 jmc 124: .It Fl t
125: Trace program execution.
1.99 reyk 126: .It Fl V
127: Verbose mode.
128: All messages will be displayed.
1.122 ! joris 129: This is the default.
1.109 xsa 130: .Fl V
131: and
132: .Fl Q
133: are mutually exclusive.
134: If both are specified,
135: .Fl Q
136: takes precedence.
1.1 jfb 137: .It Fl v
138: Display version information and exit.
1.83 xsa 139: .It Fl w
140: Extract new files in read-write mode.
141: Overrides the setting of the
142: .Ev CVSREAD
143: environment variable.
144: This is the default unless
145: .Ev CVSREAD
146: is set or the
147: .Fl r
148: option is specified.
1.15 jmc 149: .It Fl z Ar level
150: Specify the compression level to
151: .Xr gzip 1
152: when transferring files.
153: The compression level ranges from 1 to 9,
154: with 1 being the fastest,
155: and 9 providing the best level of compression.
156: The default is 6.
1.1 jfb 157: .El
1.98 xsa 158: .Pp
159: .Ex -std cvs
1.1 jfb 160: .Sh COMMANDS
1.91 jmc 161: .Nm
162: supports the following commands:
163: add,
164: admin,
165: annotate,
166: checkout,
167: commit,
168: diff,
169: edit,
170: editors,
171: export,
172: history,
173: import,
174: init,
175: kserver,
176: log,
1.115 xsa 177: rannotate,
1.91 jmc 178: rdiff,
179: release,
180: remove,
181: rlog,
182: rtag,
183: server,
184: status,
185: tag,
186: unedit,
187: update,
188: version,
189: watch,
190: watchers.
191: The commands are fully explained in this section.
1.97 jmc 192: .Pp
193: Files may be selected by
194: .Em revision
195: or, where no revision is specified,
196: the latest revision of the default branch is used.
197: Revisions are specified either by using the
198: .Fl r
199: option or
200: by appending the revision number to any option that supports it.
201: .Pp
202: .Nm
203: supports the notion of
204: .Em state .
205: The state is an arbitrary string of characters used to describe a file
206: (or a specific revision of a file).
207: States can be set or changed using the
208: .Fl s
209: option, for CVS tools which support it.
210: The state of a file/revision can be modified without having to
211: .Ic commit
212: a new file/revision.
213: The default state is
214: .Sq Exp
215: (Experimental).
216: Examples of states could be
217: .Sq Dev ,
218: .Sq Reviewed ,
219: or
220: .Sq Stab .
1.91 jmc 221: .Ss add
1.42 xsa 222: Before a file is known to
223: .Nm ,
224: it must be added to the repository using this command.
1.1 jfb 225: Adding a file does not actually publish the contents of the
1.42 xsa 226: file: the
1.11 jmc 227: .Ic commit
1.42 xsa 228: command must also be used to publish it into the repository,
229: and thus let others access the file.
230: .Pp
231: Note: since directories have no versioning system, it is sufficient
232: to add them with the
233: .Ic add
234: command alone; the
235: .Ic commit
236: command is not necessary.
1.91 jmc 237: .Bd -literal -offset indent
1.107 sobrado 238: usage: cvs add [-k mode] [-m msg] file ...
1.91 jmc 239: .Ed
1.1 jfb 240: .Pp
1.35 jmc 241: The
242: .Ic add
243: command takes the following options:
244: .Bl -tag -width Ds -offset 3n
1.42 xsa 245: .It Fl k Ar mode
246: Specify the keyword substitution mode.
1.35 jmc 247: .It Fl m Ar msg
248: Attach log message
249: .Ar msg .
250: By default, no log message is required.
251: .El
1.13 jmc 252: .Pp
253: Aliases:
254: .Ic ad ,
255: .Ic new .
1.91 jmc 256: .Ss admin
1.59 xsa 257: The
258: .Ic admin
259: command is used to directly modify the RCS files.
1.91 jmc 260: .Bd -literal -offset indent
1.107 sobrado 261: usage: cvs admin [-Iq] [-b branch] [-k mode] [-m rev:msg]
1.91 jmc 262: [-N tag[:rev]] [-n tag[:rev]] [-o rev]
263: [-s state[:rev]] [-t file | str]
264: .Ed
1.59 xsa 265: .Pp
266: The
267: .Ic admin
268: command takes the following options:
269: .Bl -tag -width Ds -offset 3n
270: .It Fl b Ar branch
271: Set the default branch to
272: .Ar branch .
273: .It Fl I
274: Command is interactive.
1.69 moritz 275: .It Fl k Ar mode
1.59 xsa 276: Specify the keyword substitution mode.
277: .It Fl m Ar rev : Ns Ar msg
278: Change the log message of a revision.
279: .It Xo Fl N
280: .Ar tag Ns Op : Ns Ar rev
281: .Xc
282: Same as
283: .Fl n ,
284: but override tag if it already exists.
285: .It Xo Fl n
286: .Ar tag Ns Op : Ns Ar rev
287: .Xc
288: Associate the
289: .Ar tag
290: with the
291: .Ar rev
292: or the branch given as argument.
293: If the revision or the branch is not specified, the tag is deleted.
294: The
295: .Sq \&:
296: character means the association of the tag and the latest revision of
297: the default branch.
298: A branch number ending with the
299: .Sq \&.
300: character means the current latest revision in the branch.
301: This option is functionally the same as the
302: .Ic rtag
303: command, but it avoids the check of the tags done with the
304: .Pa CVSROOT/taginfo
305: file.
306: .It Fl o Ar rev
307: Delete one or more revisions.
308: The specifications of the values or revisions are as follows:
1.61 deraadt 309: .Bl -tag -width Ds
1.59 xsa 310: .It rev
311: Specific revision.
312: .It rev1:rev2
313: Delete all revisions of a branch between
314: .Ar rev1
315: and
316: .Ar rev2 .
317: .It rev1::rev2
318: Delete all revisions of a branch between
319: .Ar rev1
320: and
321: .Ar rev2
322: without deleting revisions
323: .Ar rev1
324: and
325: .Ar rev2 .
326: .It :rev
327: Delete all revisions of the branch until revision
328: .Ar rev .
329: .It rev:
330: Delete all revisions of the branch from revision
331: .Ar rev
332: until the last revision of the branch.
333: .El
334: .It Fl q
335: Quiet mode.
336: .It Xo Fl s
337: .Ar state Ns Op : Ns Ar rev
338: .Xc
339: Change state of a revision.
340: .It Fl t Ar file \*(Ba Ar str
341: Change the descriptive text.
342: The descriptive text is taken from the
343: .Ar file
344: specified as argument or from the string
345: .Ar str
346: given as argument if it is preceded by the
347: .Sq -
348: character.
349: If no argument is used, the descriptive text is taken from standard input.
350: .El
1.13 jmc 351: .Pp
352: Aliases:
353: .Ic adm ,
354: .Ic rcs .
1.91 jmc 355: .Ss annotate
1.23 xsa 356: For each line of any files specified, show information about its
357: last revision.
358: The information given is the last revision when a modification occurred,
359: the author's name, and the date of the revision.
1.91 jmc 360: .Bd -literal -offset indent
1.107 sobrado 361: usage: cvs annotate [flR] [-D date | -r rev] [file ...]
1.91 jmc 362: .Ed
1.26 xsa 363: .Pp
364: The
1.35 jmc 365: .Ic annotate
366: command takes the following options:
367: .Bl -tag -width Ds -offset 3n
368: .It Fl D Ar date
369: Show the annotations as of the latest revision no later than
370: .Ar date .
371: .It Fl f
372: Force the use of the head revision if the specified
1.26 xsa 373: tag or date is not found.
374: This can be used in combination with
375: .Fl D
376: or
377: .Fl r
378: to ensure that there is some output from the
379: .Ic annotate
380: command, even if only to show Revision 1.1 of the file.
1.35 jmc 381: .It Fl l
382: Limit the scope of the search to the local directory
383: only and disable recursive behaviour.
384: .It Fl R
385: Enable recursive behaviour.
386: This is the default.
387: .It Fl r Ar rev
388: Show annotations as of revision
1.26 xsa 389: .Ar rev
390: (can be a revision number or a tag).
1.35 jmc 391: .El
1.13 jmc 392: .Pp
393: Aliases:
1.66 jfb 394: .Ic ann ,
395: .Ic blame .
1.91 jmc 396: .Ss checkout
1.7 jfb 397: The
1.11 jmc 398: .Ic checkout
1.7 jfb 399: command is used to create a local copy of one or more modules present on the
400: target CVS repository.
1.91 jmc 401: .Bd -literal -offset indent
1.107 sobrado 402: usage: cvs checkout [-AcflNnPpRs] [-d dir] [-j rev] [-k mode]
1.91 jmc 403: -D date | -r rev module ...
404: .Ed
1.37 xsa 405: .Pp
406: The
407: .Ic checkout
408: command takes the following options:
409: .Bl -tag -width Ds -offset 3n
410: .It Fl A
1.41 xsa 411: Reset any sticky tags, dates, or keyword substitution modes that
412: have been set on the tree.
1.37 xsa 413: .It Fl c
414: Display the list of available modules.
415: .It Fl D Ar date
416: Check out as of the latest revision no later than
417: .Ar date
1.89 xsa 418: (implies
419: .Fl P )
1.37 xsa 420: (is sticky).
421: .It Fl d Ar dir
422: Check out in directory
423: .Ar dir
424: instead of the directory bearing the same name as the
425: .Ar module .
426: .It Fl f
427: Force the use of the head revision if the specified
428: tag or date is not found.
429: .It Fl j Ar rev
430: Merge in changes made between current revision and
431: .Ar rev .
432: If two
433: .Fl j
434: options are specified, only merge the differences between the two
435: revisions of the branch.
436: This allows successive merges without having to resolve
437: already resolved conflicts again.
438: .It Fl k Ar mode
439: Specify the keyword substitution mode (is sticky).
440: .It Fl l
441: Limit the scope of the search to the local directory
442: only and disable recursive behaviour.
443: .It Fl N
444: If used in conjunction with the
445: .Fl d
446: option, files are placed in local directory
447: .Ar module ,
448: located in directory
449: .Ar dir .
450: .It Fl n
451: Do not execute programs listed in the
452: .Pa CVSROOT/modules
453: file.
454: .It Fl P
455: Prune empty directories.
456: .It Fl p
457: Check out files to standard output (avoids stickiness).
458: .It Fl R
459: Enable recursive behaviour.
460: This is the default.
461: .It Fl r Ar rev
462: Check out from a particular revision or branch (implies
463: .Fl P )
464: (is sticky).
465: .It Fl s
466: Like
467: .Fl c ,
468: but include module status.
469: .El
1.13 jmc 470: .Pp
471: Aliases:
472: .Ic co ,
473: .Ic get .
1.91 jmc 474: .Ss commit
1.1 jfb 475: The
1.11 jmc 476: .Ic commit
1.1 jfb 477: command is used to send local changes back to the server and update the
478: repository's information to reflect the changes.
1.91 jmc 479: .Bd -literal -offset indent
1.107 sobrado 480: usage: cvs commit [-flnR] [-F logfile | -m msg] [-r rev] [file ...]
1.91 jmc 481: .Ed
1.27 xsa 482: .Pp
483: The
1.35 jmc 484: .Ic commit
485: command takes the following options:
486: .Bl -tag -width Ds -offset 3n
487: .It Fl F Ar logfile
488: Specify a
1.27 xsa 489: .Ar file
1.35 jmc 490: which contains the log message.
491: .It Fl f
492: Force a file to be committed, even though it is unchanged.
493: .It Fl l
494: Limit the scope of the search to the local directory
495: only and disable recursive behaviour.
496: .It Fl m Ar msg
497: Specify a log message on the command line (suppresses the editor invocation).
498: .It Fl n
499: Do not execute programs listed in the
500: .Pa CVSROOT/modules
501: file.
502: .It Fl R
503: Enable recursive behaviour.
504: This is the default.
505: .It Fl r Ar rev
506: Commit to a particular symbolic or numerical revision.
507: .El
1.13 jmc 508: .Pp
509: Aliases:
510: .Ic ci ,
511: .Ic com .
1.91 jmc 512: .Ss diff
1.3 jfb 513: The
1.11 jmc 514: .Ic diff
1.3 jfb 515: command is very similar to the
516: .Xr diff 1
1.5 jfb 517: program, except that the differential comparisons that it generates are
1.3 jfb 518: between local or remote revisions of files stored in the CVS repository.
1.91 jmc 519: .Bd -literal -offset indent
1.107 sobrado 520: usage: cvs diff [-cilNnpRu]
1.91 jmc 521: [[-D date1 | -r rev1] [-D date2 | -r rev2]]
522: [-k mode] [file ...]
523: .Ed
1.53 xsa 524: .Pp
525: The
526: .Ic diff
527: command takes the following options:
528: .Bl -tag -width Ds -offset 3n
529: .It Fl c
530: Produces a diff with three lines of context.
531: See
532: .Xr diff 1
533: for more information.
534: .It Xo Fl D Ar date1
535: .Op Fl D Ar date2
536: .Xc
537: Differences between the revision at
538: .Ar date1
539: and the working copy or
540: .Ar date1
541: and
542: .Ar date2
543: (if specified).
544: .It Fl i
545: Ignore the case of letters.
546: For example,
547: .Sq A
548: will compare equal to
549: .Sq a .
550: .It Fl k Ar mode
551: Specify the keyword substitution mode.
552: .It Fl l
553: Limit the scope of the search to the local directory
554: only and disable recursive behaviour.
555: .It Fl N
556: Include added or removed files.
1.63 jfb 557: .It Fl n
558: Produces a diff in the same format as that used by
559: .Xr rcsdiff 1 ,
560: with a count of changed lines on each insert or delete command.
1.53 xsa 561: .It Fl p
562: With unified and context diffs, show with each change the first
563: 40 characters of the last line before the context beginning with
564: a letter, an underscore or a dollar sign.
565: See
566: .Xr diff 1
567: for more information.
568: .It Fl R
569: Enable recursive behaviour.
570: This is the default.
571: .It Xo Fl r Ar rev1
572: .Op Fl r Ar rev2
573: .Xc
574: Differences between revision
575: .Ar rev1
576: and the working copy or
577: .Ar rev1
578: and
579: .Ar rev2
580: (if specified).
581: .It Fl u
582: Produces a unified diff with three lines of context.
583: See
584: .Xr diff 1
585: for more information.
586: .El
1.13 jmc 587: .Pp
588: Aliases:
589: .Ic di ,
590: .Ic dif .
1.91 jmc 591: .Ss edit
1.30 xsa 592: The
593: .Ic edit
1.35 jmc 594: command is used to make a file that is being watched
595: (and therefore read-only)
1.121 deraadt 596: readable and writable and to inform others that it is in the
597: process of being changed.
1.30 xsa 598: Notifications terminate when the
599: .Ic commit
600: command is issued.
601: Editing rights on the file can be given up using the
602: .Ic unedit
1.35 jmc 603: command, which terminates the temporary notifications.
1.91 jmc 604: .Bd -literal -offset indent
1.107 sobrado 605: usage: cvs edit [-lR] [-a action] [file ...]
1.91 jmc 606: .Ed
1.30 xsa 607: .Pp
608: The
1.35 jmc 609: .Ic edit
610: command takes the following options:
611: .Bl -tag -width Ds -offset 3n
612: .It Fl a Ar action
613: Specify the temporary notification wanted:
614: .Pp
1.61 deraadt 615: .Bl -tag -width Ds -compact
1.30 xsa 616: .It Cm commit
1.35 jmc 617: Another user has committed changes to the file.
1.30 xsa 618: .It Cm edit
619: Another user has issued the
620: .Ic edit
1.35 jmc 621: command on the file.
1.30 xsa 622: .It Cm unedit
623: Another user has issued the
624: .Ic unedit
1.35 jmc 625: command on the file.
1.30 xsa 626: .It Cm all
627: All of the above.
628: .It Cm none
629: None of the above.
630: .El
631: .Pp
632: The
633: .Fl a
634: flag may appear more than once, or not at all.
635: If omitted, the action defaults to
1.31 jmc 636: .Cm all .
1.35 jmc 637: .It Fl l
638: Limit the scope of the search to the local directory
639: only and disable recursive behaviour.
640: .It Fl R
641: Enable recursive behaviour.
642: This is the default.
643: .El
1.91 jmc 644: .Ss editors
1.33 xsa 645: The
646: .Ic editors
647: command lists the users with edition rights on a file.
648: For that, pseudo-lock mode must be enabled (see the
649: .Ic watch
650: command).
651: The e-mail address of the user editing the file, the timestamp
652: when the edition first started, the host from where the edition
653: has been requested and the path to the edited file are listed.
1.91 jmc 654: .Bd -literal -offset indent
1.107 sobrado 655: usage: cvs editors [-lR] [file ...]
1.91 jmc 656: .Ed
1.33 xsa 657: .Pp
658: The
1.35 jmc 659: .Ic editors
660: command takes the following options:
661: .Bl -tag -width Ds -offset 3n
662: .It Fl l
663: Limit the scope of the search to the local directory
664: only and disable recursive behaviour.
665: .It Fl R
666: Enable recursive behaviour.
667: This is the default.
668: .El
1.91 jmc 669: .Ss export
1.36 xsa 670: The
671: .Ic export
672: command extracts a copy of
673: .Ar module
674: without including the directories used for management by
675: .Nm .
676: This eases production of a software release.
677: A date or a revision must be specified for the command to be valid,
678: which ensures that later extractions can be reproduced with the same
679: options as the release.
680: .Pp
681: The checked out module's files will be placed in a directory
682: bearing the same name as the checked out module, by default.
1.91 jmc 683: .Bd -literal -offset indent
1.107 sobrado 684: usage: cvs export [-flNnR] [-d dir] [-k mode]
1.91 jmc 685: -D date | -r rev module ...
686: .Ed
1.36 xsa 687: .Pp
688: The
689: .Ic export
690: command takes the following options:
691: .Bl -tag -width Ds -offset 3n
692: .It Fl D Ar date
693: Export as of the latest revision no later than
694: .Ar date .
695: .It Fl d Ar dir
696: Export in directory
697: .Ar dir
698: instead of the directory bearing the same name as the
699: .Ar module .
700: .It Fl f
701: Force the use of the head revision if the specified
702: tag or date is not found.
703: This can be used in combination with
704: .Fl D
705: or
706: .Fl r
707: to ensure that the
708: .Ic export
709: command is valid.
710: .It Fl k Ar mode
711: Specify the keyword substitution mode: the
712: .Fl k Ar v
713: option is often used to avoid substitution of keywords during
714: a release cycle.
715: However, be aware that it does not handle an export containing
716: binary files correctly.
717: .It Fl l
718: Limit the scope of the search to the local directory
719: only and disable recursive behaviour.
720: .It Fl N
721: If used in conjunction with the
722: .Fl d
723: option, files are placed in local directory
724: .Ar module ,
725: located in directory
726: .Ar dir .
727: .It Fl n
728: Do not execute programs listed in the
729: .Pa CVSROOT/modules
730: file.
731: .It Fl R
732: Enable recursive behaviour.
733: This is the default.
734: .It Fl r Ar rev
735: Export from a particular symbolic or numerical revision.
736: .El
1.13 jmc 737: .Pp
738: Aliases:
739: .Ic ex ,
740: .Ic exp .
1.91 jmc 741: .Ss history
1.49 xsa 742: The
743: .Ic history
744: command is used to display the history of actions done in the
745: base repository.
746: This functionality is only available if the
1.50 xsa 747: .Pa CVSROOT/history
1.49 xsa 748: file has been created.
749: Only the
750: .Ic checkout ,
751: .Ic commit ,
752: .Ic export ,
753: .Ic release ,
754: .Ic rtag ,
755: and
756: .Ic update
757: commands are logged into this file.
1.91 jmc 758: .Bd -literal -offset indent
1.107 sobrado 759: usage: cvs history [-aceloTw] [-b str] [-D date] [-f file]
1.91 jmc 760: [-m module] [-n module] [-p path] [-r rev]
761: [-t tag] [-u user] [-x ACEFGMORTUW] [-z tz]
762: [file ...]
763: .Ed
1.49 xsa 764: .Pp
765: The
766: .Ic history
767: command takes the following options:
768: .Bl -tag -width Ds -offset 3n
769: .It Fl a
770: Display records for all users.
771: By default, only records from the user issuing the
772: .Ic history
773: command are displayed.
774: .It Fl b Ar str
775: Display everything back to a record containing the string
776: .Ar str
777: in either the module name, the file name, or the repository path.
778: .It Fl c
779: Display the archived files
780: .Pf ( Ic commit
781: command).
782: .It Fl D Ar date
783: Report no later than
784: .Ar date .
785: .It Fl e
786: Select all records (same as
787: .Fl x
788: with all types).
789: .It Fl f Ar file
790: Display records related to
791: .Ar file .
792: .It Fl l
793: Show last checkouts of modules with the
794: .Ic checkout
795: command.
796: .It Fl m Ar module
797: Look for the
798: .Ar module
799: (can be used several times).
800: .It Fl n Ar module
801: Search into the
802: .Ar module .
803: .It Fl o
804: Report on modules checked out by users.
805: .It Fl p Ar path
806: Display records from the base repository being in the directory
807: specified by the
808: .Ar path .
809: .It Fl r Ar rev
810: Report for a particular revision (checks in the RCS file).
1.107 sobrado 811: .It Fl T
812: Report on all tags.
1.49 xsa 813: .It Fl t Ar tag
814: Report since tag record placed in the
1.50 xsa 815: .Pa CVSROOT/history
1.49 xsa 816: file by any user.
817: .It Fl u Ar user
818: Report for a specified
819: .Ar user .
820: Can be used several times to match many users.
821: .It Fl w
822: Check that records match the current working directory.
823: .It Fl x Ar ACEFGMORTUW
824: Extract by a specific record type specified by a single letter.
825: They can be used in combination.
826: The available types are as follows:
1.61 deraadt 827: .Bl -tag -width Ds
1.49 xsa 828: .It A
829: A file has been added with the
830: .Ic add
831: command.
832: .It C
833: A merge has been done, but unresolved conflicts still remain.
834: .It E
835: Export.
836: .It F
837: Release.
838: .It G
839: A merge has been done without conflict.
840: .It M
841: A file has been modified (using the
842: .Ic commit
843: command).
844: .It O
845: Checkout.
846: .It R
847: A file has been removed with the
848: .Ic remove
849: command.
850: .It T
851: Rtag.
852: .It U
853: Normal update.
854: .It W
855: The file has been deleted from the directory because it does not
856: exist anymore in the base repository.
857: .El
858: .It Fl z Ar tz
1.107 sobrado 859: Display records with the time synchronized with timezone
860: .Ar tz .
1.49 xsa 861: .El
862: .Pp
863: All records have the following five first columns:
864: .Pp
865: .Bl -dash -compact
866: .It
867: The record type (the
868: .Fl x
869: option).
870: .It
871: The date of the action.
872: .It
873: The time of the action.
874: .It
875: The time zone.
876: .It
877: The user who made the action.
878: .El
879: .Pp
1.51 xsa 880: The other columns vary depending on the command issued:
881: .Pp
882: For records coming from the
883: .Ic rtag
884: command, the additional columns are as follows:
885: .Bd -literal -offset indent
886: <module> [<tag>:<argument>] {<working directory>}
887: .Ed
888: .Pp
889: For records coming from the
890: .Ic checkout
891: and
892: .Ic export
893: commands, the additional columns are as follows:
894: .Bd -literal -offset indent
895: <request> <repository> =<module>= <working directory>
896: .Ed
897: .Pp
898: For records coming from the
899: .Ic release
900: command, the additional columns are as follows:
901: .Bd -literal -offset indent
902: =<module>= <working directory>
903: .Ed
904: .Pp
905: For records coming from the
906: .Ic commit
907: and
908: .Ic update
909: commands, the additional columns are as follows:
910: .Bd -literal -offset indent
911: <version> <file> <module> == <working directory>
912: .Ed
1.13 jmc 913: .Pp
914: Aliases:
915: .Ic hi ,
916: .Ic his .
1.91 jmc 917: .Ss import
1.13 jmc 918: Import sources into CVS using vendor branches.
1.22 jmc 919: .Pp
920: At least three arguments are required:
1.72 xsa 921: .Ar module
1.22 jmc 922: specifies the location of the sources to be imported;
923: .Ar vendortag
924: is a tag for the entire branch;
925: .Ar releasetag
1.121 deraadt 926: is used to identify the files created with
1.35 jmc 927: .Ic cvs import .
1.91 jmc 928: .Bd -literal -offset indent
1.107 sobrado 929: usage: cvs import [-d] [-b branch] [-I ign] [-k mode] [-m msg]
1.91 jmc 930: [-W spec] module vendortag releasetag
931: .Ed
1.35 jmc 932: .Pp
933: The
934: .Ic import
935: command takes the following options:
936: .Bl -tag -width Ds -offset 3n
937: .It Fl b Ar branch
938: Specify the first-level branch number.
1.78 xsa 939: .It Fl d
940: Use the file's last modification time as the timestamp for the
941: initial revisions.
1.72 xsa 942: .It Fl I Ar ign
943: Ignore files specified by
944: .Ar ign .
945: This option can be used several times on the command line.
946: To see all files, use the
947: .Fl I Ar !\&
948: specification.
949: .It Fl k Ar mode
950: Specify the keyword substitution mode (is sticky).
1.35 jmc 951: .It Fl m Ar msg
952: Specify the log message to send.
1.72 xsa 953: .It Fl W Ar spec
954: Wrappers specification line.
1.35 jmc 955: .El
1.13 jmc 956: .Pp
957: Aliases:
958: .Ic im ,
959: .Ic imp .
1.91 jmc 960: .Ss init
1.13 jmc 961: Create a CVS repository if it doesn't exist.
1.91 jmc 962: .Ss kserver
1.13 jmc 963: Start a Kerberos authentication server.
1.91 jmc 964: .Ss log
1.52 xsa 965: The
966: .Ic log
967: command displays information on a
968: .Ar file
969: such as its different revisions, description, different tags,
970: as well as the comments, dates, and authors of these revisions.
971: By default, the
972: .Ic log
973: command displays all the available information; the options are only
974: used to restrict the displayed information.
1.91 jmc 975: .Bd -literal -offset indent
1.107 sobrado 976: usage: cvs log [-bhlNRt] [-d dates] [-r revs] [-s state]
1.91 jmc 977: [-w users] [file ...]
978: .Ed
1.52 xsa 979: .Pp
980: The
981: .Ic log
982: command takes the following options:
983: .Bl -tag -width Ds -offset 3n
984: .It Fl b
985: List revisions of the default branch only.
986: .It Fl d Ar dates
987: Specify revisions with dates matching the specification.
988: The specification might be as follows:
1.61 deraadt 989: .Bl -tag -width Ds
1.108 sobrado 990: .It date1<date2 or date2>date1
1.52 xsa 991: Select all revisions between
1.108 sobrado 992: .Ar date1
1.52 xsa 993: and
1.108 sobrado 994: .Ar date2 .
995: .It <date or date>
1.52 xsa 996: Select all revisions before
1.108 sobrado 997: .Ar date .
998: .It >date or date<
1.52 xsa 999: Select all revisions after
1.108 sobrado 1000: .Ar date .
1001: .It date
1.52 xsa 1002: Select the latest revision before or equal to
1.108 sobrado 1003: .Ar date .
1.52 xsa 1004: .El
1005: .Pp
1006: The
1007: .Sq \*(Gt
1008: and
1009: .Sq \*(Lt
1010: characters can be followed by the
1011: .Sq =
1012: character to imply an inclusive specification.
1013: Several specifications can be used by separating them with the
1014: .Sq \&;
1015: character.
1016: .It Fl h
1017: Print header only.
1018: .It Fl l
1019: Limit the scope of the search to the local directory only.
1020: .It Fl N
1021: Do not list tags.
1022: .It Fl R
1023: Print name of RCS file only.
1024: .It Fl r Ar revs
1025: Specify revision(s) to list:
1.61 deraadt 1026: .Bl -tag -width Ds
1.107 sobrado 1027: .It rev1,rev2,...
1.52 xsa 1028: A list of revisions is specified by separating names or numbers
1029: of revisions by the
1030: .Sq \&,
1031: character.
1.107 sobrado 1032: .It rev1:rev2
1.52 xsa 1033: List all revisions between
1.107 sobrado 1034: .Ar rev1
1.52 xsa 1035: and
1.107 sobrado 1036: .Ar rev2
1.52 xsa 1037: (they must be on the same branch).
1.107 sobrado 1038: .It :rev
1.52 xsa 1039: List all revisions since the beginning of the branch until
1.107 sobrado 1040: .Ar rev
1.52 xsa 1041: included.
1.107 sobrado 1042: .It rev:
1.52 xsa 1043: List all revisions of the branch beginning with
1.107 sobrado 1044: .Ar rev .
1045: .It branch
1.52 xsa 1046: List all revisions of a branch.
1.107 sobrado 1047: .It branch.
1.52 xsa 1048: List the latest revision of the branch
1.107 sobrado 1049: .Ar branch .
1050: .It branch1:branch2
1.52 xsa 1051: List all revisions of branches between
1.107 sobrado 1052: .Ar branch1
1.52 xsa 1053: and
1.107 sobrado 1054: .Ar branch2 .
1.52 xsa 1055: .El
1056: .Pp
1057: Without argument, the
1058: .Fl r
1059: option means the latest revision of the default branch.
1060: .It Fl s Ar state
1061: List revisions of the specified
1062: .Ar state
1063: only.
1064: Several states can be listed by separating them with the
1065: .Sq \&,
1066: character.
1067: .It Fl t
1068: Print header and description only.
1069: .It Fl w Ar users
1070: Do not list revisions made by specified
1071: .Ar users .
1072: Usernames should be separated by the
1073: .Sq \&,
1074: character.
1075: .El
1.13 jmc 1076: .Pp
1077: Aliases:
1078: .Ic lo .
1.115 xsa 1079: .Ss rannotate
1080: For each line of any files specified, show information about its
1081: last revision.
1082: The information given is the last revision when a modification occurred,
1083: the author's name, and the date of the revision.
1084: This command does not need a local checkout of the repository
1085: to work.
1086: .Bd -literal -offset indent
1.118 xsa 1087: usage: cvs rannotate [flR] [-D date | -r rev] module ...
1.115 xsa 1088: .Ed
1089: .Pp
1.119 xsa 1090: The
1.115 xsa 1091: .Ic rannotate
1092: command takes the following options:
1093: .Bl -tag -width Ds -offset 3n
1094: .It Fl D Ar date
1095: Show the annotations as of the latest revision no later than
1096: .Ar date .
1097: .It Fl f
1098: Force the use of the head revision if the specified
1099: tag or date is not found.
1100: This can be used in combination with
1101: .Fl D
1102: or
1.119 xsa 1103: .Fl r
1.115 xsa 1104: to ensure that there is some output from the
1105: .Ic rannotate
1106: command, even if only to show Revision 1.1 of the file.
1107: .It Fl l
1108: Limit the scope of the search to the local directory
1109: only and disable recursive behaviour.
1110: .It Fl R
1111: Enable recursive behaviour.
1112: This is the default.
1113: .It Fl r Ar rev
1114: Show annotations as of revision
1.119 xsa 1115: .Ar rev
1.115 xsa 1116: (can be a revision number or a tag).
1117: .El
1118: .Pp
1119: Aliases:
1120: .Ic rann ,
1121: .Ic ra .
1.91 jmc 1122: .Ss rdiff
1.55 xsa 1123: The
1124: .Ic rdiff
1125: command lists differences between two revisions in a
1.13 jmc 1126: .Xr patch 1
1.55 xsa 1127: compatible format.
1128: This command does not need a local checkout of the repository
1129: to work.
1.91 jmc 1130: .Bd -literal -offset indent
1.107 sobrado 1131: usage: cvs rdiff [-flR] [-c | -u] [-s | -t] [-V ver]
1.91 jmc 1132: -D date | -r rev [-D date2 | -r rev2]
1133: module ...
1134: .Ed
1.55 xsa 1135: .Pp
1136: The
1137: .Ic rdiff
1138: command takes the following options:
1139: .Bl -tag -width Ds -offset 3n
1140: .It Fl c
1141: Produces a diff with three lines of context.
1142: See
1143: .Xr diff 1
1144: for more information.
1145: This is the default.
1146: .It Xo Fl D Ar date
1147: .Op Fl D Ar date2
1148: .Xc
1149: Differences between the revision at
1150: .Ar date
1151: and the working copy or
1152: .Ar date
1153: and
1154: .Ar date2
1155: (if specified).
1156: .It Fl f
1157: Force the use of the head revision if the specified
1158: date or revision is not found.
1159: .It Fl l
1160: Limit the scope of the search to the local directory
1161: only and disable recursive behaviour.
1162: .It Fl R
1163: Enable recursive behaviour.
1164: This is the default.
1165: .It Xo Fl r Ar rev
1166: .Op Fl r Ar rev2
1167: .Xc
1168: Differences between revision
1169: .Ar rev
1170: and the working copy or
1171: .Ar rev
1172: and
1173: .Ar rev2
1174: (if specified).
1175: .It Fl s
1176: Create a summary change instead of a whole patch.
1177: .It Fl t
1178: Lists differences between the last two revisions of each file.
1179: .It Fl u
1180: Produces a diff in unidiff format.
1181: .It Fl V Ar ver
1182: Use the RCS version
1183: .Ar ver
1184: for keyword substitution.
1185: .El
1186: .Pp
1187: Aliases:
1188: .Ic pa ,
1189: .Ic patch .
1.91 jmc 1190: .Ss release
1.39 xsa 1191: The
1192: .Ic release
1193: command indicates to
1194: .Nm
1195: that the working copy of a module is no longer in use and checks
1196: that non archived modifications in the base repository do exist.
1197: This command is not mandatory.
1198: Local directories could always be removed without using it, but
1199: in this case the handling of history information will no longer be
1200: correct (see the
1201: .Ic history
1202: command).
1.91 jmc 1203: .Bd -literal -offset indent
1.107 sobrado 1204: usage: cvs release [-d] dir ...
1.91 jmc 1205: .Ed
1.39 xsa 1206: .Pp
1207: The
1208: .Ic release
1209: command takes the following options:
1210: .Bl -tag -width Ds -offset 3n
1211: .It Fl d Ar dir
1212: Remove the directory
1213: .Ar dir .
1214: Be aware that this option silently removes any directories that have
1215: been added to the local working copy without using the
1216: .Ic add
1217: command.
1218: .El
1219: .Pp
1220: For each file not being synchronized with the base repository,
1221: a single letter prefix is given to specify the state of the file.
1222: The possible prefixes are as follows:
1.61 deraadt 1223: .Bl -tag -width Ds
1.39 xsa 1224: .It \&?
1225: The file is unknown to
1226: .Nm
1227: and is not in the list of files to ignore.
1228: Any new directories which have not been added with the
1229: .Ic add
1230: command are silently ignored as well as their content.
1231: .It A
1232: The file has been added with the
1233: .Ic add
1234: command, but has not been committed to the repository with the
1235: .Ic commit
1236: command.
1237: .It M
1238: The file has been locally modified; a more recent version might
1239: exist in the base repository.
1240: .It R
1241: The file has been removed with the
1242: .Ic remove
1243: command, but has not been committed to the repository with the
1244: .Ic commit
1245: command.
1246: .It U
1247: A more recent version of the file does exist but it is not
1248: locally up to date.
1249: .El
1.40 xsa 1250: .Pp
1251: Aliases:
1252: .Ic re ,
1253: .Ic rel .
1.91 jmc 1254: .Ss remove
1.18 xsa 1255: The
1256: .Ic remove
1257: command is used to inform
1258: .Nm
1259: that
1260: .Ar file
1261: is scheduled to be removed from the repository.
1262: Files are not actually removed from the repository until the
1263: .Ic commit
1264: command has been run subsequently.
1.88 xsa 1265: .Pp
1266: There is no way to remove a directory with the
1267: .Ic remove
1268: command.
1269: .Nm
1270: will only remove a directory if it is empty and if the
1271: .Ic checkout
1272: or
1273: .Ic update
1274: commands are run with the
1275: .Fl P
1276: option.
1277: (Note that the
1278: .Ic export
1279: command always removes empty directories.)
1.91 jmc 1280: .Bd -literal -offset indent
1.107 sobrado 1281: usage: cvs remove [-flR] [file ...]
1.91 jmc 1282: .Ed
1.28 xsa 1283: .Pp
1284: The
1.35 jmc 1285: .Ic remove
1286: command takes the following options:
1287: .Bl -tag -width Ds -offset 3n
1288: .It Fl f
1289: Force local file removal.
1.28 xsa 1290: If this flag is not used, the file must be locally removed beforehand for
1291: the command to be valid.
1.35 jmc 1292: .It Fl l
1293: Limit the scope of the search to the local directory
1294: only and disable recursive behaviour.
1295: .It Fl R
1296: Enable recursive behaviour.
1297: This is the default.
1298: .El
1.18 xsa 1299: .Pp
1300: Aliases:
1.19 xsa 1301: .Ic rm ,
1302: .Ic delete .
1.91 jmc 1303: .Ss rlog
1.117 xsa 1304: The
1305: .Ic rlog
1306: command displays information on a
1307: .Ar file
1308: such as its different revisions, description, different tags,
1309: as well as the comments, dates, and authors of these revisions.
1310: By default, the
1311: .Ic rlog
1312: command displays all the available information; the options are only
1313: used to restrict the displayed information.
1314: This command does not need a local checkout of the repository
1315: to work.
1316: .Bd -literal -offset indent
1317: usage: cvs rlog [-bhlNRt] [-d dates] [-r revs] [-s state]
1318: [-w users] module ...
1319: .Ed
1320: .Pp
1321: The
1322: .Ic rlog
1323: command takes the following options:
1324: .Bl -tag -width Ds -offset 3n
1325: .It Fl b
1326: List revisions of the default branch only.
1327: .It Fl d Ar dates
1328: Specify revisions with dates matching the specification.
1329: The specification might be as follows:
1330: .Bl -tag -width Ds
1331: .It date1<date2 or date2>date1
1332: Select all revisions between
1333: .Ar date1
1334: and
1335: .Ar date2 .
1336: .It <date or date>
1337: Select all revisions before
1338: .Ar date .
1339: .It >date or date<
1340: Select all revisions after
1341: .Ar date .
1342: .It date
1343: Select the latest revision before or equal to
1344: .Ar date .
1345: .El
1346: .Pp
1347: The
1348: .Sq \*(Gt
1349: and
1350: .Sq \*(Lt
1351: characters can be followed by the
1352: .Sq =
1353: character to imply an inclusive specification.
1354: Several specifications can be used by separating them with the
1355: .Sq \&;
1356: character.
1357: .It Fl h
1358: Print header only.
1359: .It Fl l
1360: Limit the scope of the search to the local directory only.
1361: .It Fl N
1362: Do not list tags.
1363: .It Fl R
1364: Print name of RCS file only.
1365: .It Fl r Ar revs
1366: Specify revision(s) to list:
1367: .Bl -tag -width Ds
1368: .It rev1,rev2,...
1369: A list of revisions is specified by separating names or numbers
1370: of revisions by the
1371: .Sq \&,
1372: character.
1373: .It rev1:rev2
1374: List all revisions between
1375: .Ar rev1
1376: and
1377: .Ar rev2
1378: (they must be on the same branch).
1379: .It :rev
1380: List all revisions since the beginning of the branch until
1381: .Ar rev
1382: included.
1383: .It rev:
1384: List all revisions of the branch beginning with
1385: .Ar rev .
1386: .It branch
1387: List all revisions of a branch.
1388: .It branch.
1389: List the latest revision of the branch
1390: .Ar branch .
1391: .It branch1:branch2
1392: List all revisions of branches between
1393: .Ar branch1
1394: and
1395: .Ar branch2 .
1396: .El
1397: .Pp
1398: Without argument, the
1399: .Fl r
1400: option means the latest revision of the default branch.
1401: .It Fl s Ar state
1402: List revisions of the specified
1403: .Ar state
1404: only.
1405: Several states can be listed by separating them with the
1406: .Sq \&,
1407: character.
1408: .It Fl t
1409: Print header and description only.
1410: .It Fl w Ar users
1411: Do not list revisions made by specified
1412: .Ar users .
1413: Usernames should be separated by the
1414: .Sq \&,
1415: character.
1416: .El
1417: .Pp
1418: Aliases:
1419: .Ic rlo .
1.91 jmc 1420: .Ss rtag
1.56 xsa 1421: The
1422: .Ic rtag
1423: command adds a symbolic tag to one or more modules.
1424: It is often used to create a new branch using the
1425: .Fl b
1426: option.
1.91 jmc 1427: .Bd -literal -offset indent
1.107 sobrado 1428: usage: cvs rtag [-abdFflnR] [-D date | -r rev]
1.91 jmc 1429: symbolic_tag module ...
1430: .Ed
1.56 xsa 1431: .Pp
1432: The
1433: .Ic rtag
1434: command takes the following options:
1435: .Bl -tag -width Ds -offset 3n
1436: .It Fl a
1437: Clear tag from files already removed with the
1438: .Ic remove
1439: command.
1440: .It Fl b
1441: Create a branch.
1442: .It Fl D Ar date
1443: Tag the most recent revision before
1444: .Ar date .
1445: .It Fl d
1446: Delete tag.
1447: .It Fl F
1448: Move tag if it already exists.
1449: If this option is not used and a tag is used a second time,
1450: .Nm
1451: will not execute the action.
1452: .It Fl f
1453: Force the use of the head revision if the specified
1454: revision or date is not found.
1455: .It Fl l
1456: Limit the scope of the search to the local directory
1457: only and disable recursive behaviour.
1458: .It Fl n
1459: Do not execute programs listed in the
1460: .Pa CVSROOT/modules
1461: file.
1462: .It Fl R
1463: Enable recursive behaviour.
1464: This is the default.
1465: .It Fl r Ar rev
1466: Tag at revision
1467: .Ar rev .
1468: .El
1469: .Pp
1470: Aliases:
1471: .Ic rt ,
1472: .Ic rfreeze .
1.91 jmc 1473: .Ss server
1.13 jmc 1474: Server mode.
1.91 jmc 1475: .Ss status
1.25 xsa 1476: The
1477: .Ic status
1478: command is used to display the state of checked out files.
1.91 jmc 1479: .Bd -literal -offset indent
1.107 sobrado 1480: usage: cvs status [-lRv] [file ...]
1.91 jmc 1481: .Ed
1.25 xsa 1482: .Pp
1483: The
1.35 jmc 1484: .Ic status
1485: command takes the following options:
1486: .Bl -tag -width Ds -offset 3n
1487: .It Fl l
1488: Limit the scope of the search to the local directory
1489: only and disable recursive behaviour.
1490: .It Fl R
1491: Enable recursive behaviour.
1492: This is the default.
1493: .It Fl v
1494: Display symbolic tags for
1495: .Ar file .
1.25 xsa 1496: .Pp
1.35 jmc 1497: The state may be one of the following:
1.61 deraadt 1498: .Bl -tag -width Ds
1.25 xsa 1499: .It Cm Locally Added
1500: The file has been added with the
1501: .Ic add
1502: command, but has not been committed to the repository with the
1503: .Ic commit
1504: command.
1505: .It Cm Locally Modified
1.35 jmc 1506: The file is up to date, but has been locally modified.
1.25 xsa 1507: .It Cm Locally Removed
1508: The file has been removed with the
1509: .Ic remove
1510: command, but has not been committed to the repository with the
1511: .Ic commit
1512: command.
1513: .It Cm Needs Checkout
1514: The file has not been modified; a new version is available.
1515: .It Cm Needs Merge
1516: The file has been modified and a newer version is available.
1517: .It Cm Needs Patch
1518: Same as
1519: .Ic Needs Checkout
1520: but, in client-server mode, only the differences are sent to save
1521: network resources.
1522: .It Cm Unresolved Conflict
1523: A merge has been done, but unresolved conflicts still remain.
1524: .It Cm Up-to-date
1525: The file is up to date.
1526: .El
1.35 jmc 1527: .El
1.13 jmc 1528: .Pp
1529: Aliases:
1530: .Ic st ,
1531: .Ic stat .
1.91 jmc 1532: .Ss tag
1.57 xsa 1533: The
1534: .Ic tag
1535: command adds a symbolic tag to a checked out version of one or more files.
1.91 jmc 1536: .Bd -literal -offset indent
1.107 sobrado 1537: usage: cvs tag [-bcdFflR] [-D date | -r rev] [symbolic_tag]
1.91 jmc 1538: [file ...]
1539: .Ed
1.21 jmc 1540: .Pp
1541: The
1.35 jmc 1542: .Ic tag
1543: command takes the following options:
1544: .Bl -tag -width Ds -offset 3n
1545: .It Fl b
1.57 xsa 1546: Create a branch.
1547: .It Fl c
1548: Check that working files are not modified.
1549: .It Fl D Ar date
1550: Tag the most recent revision before
1551: .Ar date .
1.35 jmc 1552: .It Fl d
1553: Delete tag.
1.57 xsa 1554: .It Fl F
1555: Move tag if it already exists.
1556: If this option is not used and a tag is used a second time,
1557: .Nm
1558: will not execute the action.
1559: .It Fl f
1560: Force the use of the head revision if the specified
1561: revision or date is not found.
1.35 jmc 1562: .It Fl l
1563: Limit the scope of the search to the local directory
1564: only and disable recursive behaviour.
1565: .It Fl R
1566: Enable recursive behaviour.
1567: This is the default.
1.57 xsa 1568: .It Fl r Ar rev
1569: Tag at revision
1570: .Ar rev .
1.35 jmc 1571: .El
1.13 jmc 1572: .Pp
1573: Aliases:
1574: .Ic ta ,
1575: .Ic freeze .
1.91 jmc 1576: .Ss unedit
1.30 xsa 1577: The
1578: .Ic unedit
1579: command is used to give up an edition on a file and thus cancel
1580: the wanted temporary notifications.
1581: If the file has been modified since the
1.13 jmc 1582: .Ic edit
1.30 xsa 1583: command has been issued,
1584: .Nm
1.121 deraadt 1585: will ask if it should go back to the previous version, and lose the
1.30 xsa 1586: modifications done on the file, or stay in edition mode on it.
1.91 jmc 1587: .Bd -literal -offset indent
1.107 sobrado 1588: usage: cvs unedit [-lR] [file ...]
1.91 jmc 1589: .Ed
1.30 xsa 1590: .Pp
1591: The
1.35 jmc 1592: .Ic unedit
1593: command takes the following options:
1594: .Bl -tag -width Ds -offset 3n
1595: .It Fl l
1596: Limit the scope of the search to the local directory
1597: only and disable recursive behaviour.
1598: .It Fl R
1599: Enable recursive behaviour.
1600: This is the default.
1601: .El
1.91 jmc 1602: .Ss update
1.3 jfb 1603: The
1.11 jmc 1604: .Ic update
1.17 david 1605: command is used to merge any of the changes that have occurred on the remote
1.3 jfb 1606: repository into the local one where the command was run.
1.91 jmc 1607: .Bd -literal -offset indent
1.107 sobrado 1608: usage: cvs update [-ACdflPpR] [-D date | -r rev] [-I ign]
1.91 jmc 1609: [-j rev] [-k mode] [-W spec] [file ...]
1610: .Ed
1.3 jfb 1611: .Pp
1612: The
1.35 jmc 1613: .Ic update
1614: command takes the following options:
1615: .Bl -tag -width Ds -offset 3n
1616: .It Fl A
1.41 xsa 1617: Reset any sticky tags, dates, or keyword substitution modes that
1618: have been set on the tree.
1.102 xsa 1619: .It Fl C
1620: Overwrite locally modified files with clean repository copies.
1.38 xsa 1621: .It Fl D Ar date
1622: Update as of the latest revision no later than
1623: .Ar date
1624: (is sticky).
1625: .It Fl d
1626: Create any new directories.
1627: Without this option,
1628: .Nm
1629: does not create any new files sitting in these new directories
1630: added in the base repository since the last update of the working
1631: copy, or since the last update with the
1632: .Fl d
1633: option.
1634: .It Fl f
1635: Force the use of the head revision if the specified
1636: tag or date is not found.
1637: .It Fl I Ar ign
1638: Ignore files specified by
1639: .Ar ign .
1640: This option can be used several times on the command line.
1641: To see all files, use the
1642: .Fl I Ar !\&
1643: specification.
1644: .It Fl j Ar rev
1645: Merge in changes made between current revision and
1646: .Ar rev .
1647: If two
1648: .Fl j
1649: options are specified, only merge the differences between the two
1650: revisions of the branch.
1651: This allows successive merges without having to resolve
1652: already resolved conflicts again.
1653: .It Fl k Ar mode
1654: Specify the keyword substitution mode (is sticky).
1.35 jmc 1655: .It Fl l
1656: Limit the scope of the search to the local directory
1657: only and disable recursive behaviour.
1658: .It Fl P
1659: Prune any directories that have become empty as a result of the update.
1.38 xsa 1660: .It Fl p
1661: Send the result of the update to standard output (avoids stickiness).
1.35 jmc 1662: .It Fl R
1663: Enable recursive behaviour.
1664: This is the default.
1.38 xsa 1665: .It Fl r Ar rev
1666: Update from a particular revision or branch (is sticky).
1667: .It Fl W Ar spec
1668: Wrappers specification line.
1.35 jmc 1669: .El
1.38 xsa 1670: .Pp
1671: By default, the
1672: .Ic update
1673: command does not create new directories; the
1674: .Fl d
1675: option must be used for that.
1.29 xsa 1676: .Pp
1677: For each file updated, a single letter prefix is given to
1678: specify the state of the file.
1679: The possible prefixes are as follows:
1.61 deraadt 1680: .Bl -tag -width Ds
1.29 xsa 1681: .It \&?
1682: The file is unknown to
1683: .Nm .
1684: .It A
1685: The file has been added with the
1686: .Ic add
1687: command, but has not been committed to the repository with the
1688: .Ic commit
1689: command.
1690: .It C
1691: A merge, with a more recent version of the file, has been done,
1692: but unresolved conflicts still remain.
1693: .It M
1694: The file has been locally modified; if a more recent version
1695: is available, the merge has been done without conflict.
1696: .It P
1697: The same as
1698: .Sq U ,
1699: but, in client-server mode, only differences are sent to save network
1700: resources.
1701: .It R
1702: The file has been removed with the
1703: .Ic remove
1704: command, but has not been committed to the repository with the
1705: .Ic commit
1706: command.
1707: .It U
1708: The file is up to date.
1709: .El
1.13 jmc 1710: .Pp
1711: Aliases:
1712: .Ic up ,
1713: .Ic upd .
1.91 jmc 1714: .Ss version
1.3 jfb 1715: Causes
1716: .Nm
1717: to print its version information.
1.14 jfb 1718: If this command is issued within a local copy of a remote repository or
1719: if either the
1720: .Ev CVSROOT
1721: environment variable or the
1722: .Fl d
1723: flag specify a remote repository,
1.3 jfb 1724: .Nm
1725: will also connect to the server and ask it to print its version information.
1.13 jmc 1726: .Pp
1727: Aliases:
1728: .Ic ve ,
1729: .Ic ver .
1.91 jmc 1730: .Ss watch
1.32 xsa 1731: The
1732: .Ic watch
1733: command switches a file from normal mode to
1734: pseudo-lock mode as well as handling the notifications associated
1735: with it.
1736: Pseudo-lock mode means knowing who is editing a file:
1737: for that,
1738: .Nm
1739: extracts the file in read-only mode.
1740: Users must use the
1741: .Ic edit
1742: command to get the editing rights on the file.
1743: .Pp
1744: One of the following arguments to the
1745: .Ic watch
1746: command is mandatory: on, off, add, or remove.
1747: .Ar on
1748: switches the file into pseudo-lock mode;
1749: .Ar off
1750: switches it back to normal mode;
1751: .Ar add
1752: adds notifications for specific actions on the file;
1753: .Ar remove
1754: removes those notifications.
1755: .Pp
1756: The notifications are permanent.
1757: They remain in place until the
1758: .Ic watch remove
1759: command is issued while the temporary notifications are
1760: made available with the
1761: .Ic edit
1762: command.
1.91 jmc 1763: .Bd -literal -offset indent
1.107 sobrado 1764: usage: cvs watch on | off | add | remove [-lR] [-a action]
1.91 jmc 1765: [file ...]
1766: .Ed
1.32 xsa 1767: .Pp
1768: The
1.35 jmc 1769: .Ic watch
1770: command takes the following options:
1771: .Bl -tag -width Ds -offset 3n
1772: .It Fl a Ar action
1773: Specify the permanent notification wanted for
1.32 xsa 1774: .Ar add | remove :
1775: .Pp
1.61 deraadt 1776: .Bl -tag -width Ds -compact
1.32 xsa 1777: .It Cm commit
1.35 jmc 1778: Another user has committed changes to the file.
1.32 xsa 1779: .It Cm edit
1.35 jmc 1780: Another user is editing the file.
1.32 xsa 1781: .It Cm unedit
1.35 jmc 1782: Another user has finished editing the file.
1.32 xsa 1783: .It Cm all
1784: All of the above.
1785: .It Cm none
1786: No notification.
1787: .El
1788: .Pp
1.35 jmc 1789: If no specification is requested using the
1.32 xsa 1790: .Ar add
1791: or
1792: .Ar remove
1793: arguments, it implies the
1794: .Fl a Ar all
1795: option.
1.35 jmc 1796: .It Fl l
1797: Limit the scope of the search to the local directory
1798: only and disable recursive behaviour.
1799: .It Fl R
1800: Enable recursive behaviour.
1801: This is the default.
1802: .El
1.91 jmc 1803: .Ss watchers
1.32 xsa 1804: The
1805: .Ic watchers
1806: command lists the users who asked for notifications as well as the
1807: notifications details.
1808: The possible notifications are as follows:
1.61 deraadt 1809: .Bl -tag -width Ds
1.32 xsa 1810: .It Cm commit
1811: Permanent watch of a commit of a new version of a file.
1812: .It Cm edit
1813: Permanent watch of the start of file edition.
1814: .It Cm tcommit
1815: Temporary watch of a commit of new version of a file.
1816: .It Cm tedit
1817: Temporary watch of the start of file edition.
1818: .It Cm tunedit
1819: Temporary watch of the end of file edition.
1820: .It Cm unedit
1821: Permanent watch of the end of file edition.
1822: .El
1823: .Pp
1824: The temporary watches are set using the
1825: .Ic edit
1826: command, until the
1827: .Ic commit
1828: or
1829: .Ic unedit
1.35 jmc 1830: command is issued on a file.
1.91 jmc 1831: .Bd -literal -offset indent
1.107 sobrado 1832: usage: cvs watchers [-lR] [file ...]
1.91 jmc 1833: .Ed
1.35 jmc 1834: .Pp
1835: The
1836: .Ic watchers
1837: command takes the following options:
1838: .Bl -tag -width Ds -offset 3n
1839: .It Fl l
1840: Limit the scope of the search to the local directory
1841: only and disable recursive behaviour.
1842: .It Fl R
1843: Enable recursive behaviour.
1844: This is the default.
1.1 jfb 1845: .El
1846: .Sh ENVIRONMENT
1.61 deraadt 1847: .Bl -tag -width Ds
1.8 jmc 1848: .It Ev CVS_CLIENT_LOG
1849: This variable enables logging of all communications between the client and
1850: server when running in non-local mode.
1851: If set, this environment variable must contain a base path from which two
1852: paths will be generated by appending ".in" to the value for the server's
1853: input and ".out" for the server's output.
1.64 joris 1854: .Pp
1.65 joris 1855: The path can contain the following substitutes:
1856: .Pp
1857: .Bl -tag -width Ds -offset indent -compact
1.64 joris 1858: .It %c
1.65 joris 1859: the command being run
1.64 joris 1860: .It %d
1.65 joris 1861: the date
1862: .It %p
1863: the process ID
1.64 joris 1864: .It %u
1.65 joris 1865: the username of the person running it
1.64 joris 1866: .El
1867: .Pp
1868: The substitutes are only supported by OpenCVS.
1.1 jfb 1869: .It Ev CVS_RSH
1870: Name of the program to use when connecting to the server through a remote
1871: shell.
1872: The default is to use the
1873: .Xr ssh 1
1874: program.
1875: .It Ev CVS_SERVER
1876: If set, gives the name of the program to invoke as a
1877: .Nm
1878: server when using remote shell.
1879: The default is to use `cvs'.
1880: .It Ev CVSEDITOR
1881: Name of the editor to use when editing commit messages.
1.8 jmc 1882: Checked before
1883: .Ev EDITOR
1884: and
1885: .Ev VISUAL .
1.70 xsa 1886: .It Ev CVSREAD
1887: If set,
1888: .Nm
1889: extracts files in read-only mode.
1.101 xsa 1890: .It Ev CVSREADONLYFS
1891: Permit checkout from a read-only repository.
1.109 xsa 1892: Implies
1893: .Fl l .
1.101 xsa 1894: See also
1895: .Fl R ,
1896: above.
1.8 jmc 1897: .It Ev CVSROOT
1898: When set, this variable should contain the string pointing to the root
1899: directory of the CVS repository.
1900: The contents of this variable are ignored when the
1901: .Fl d
1902: option is given or if `Root' files exist in the checked-out copy.
1.1 jfb 1903: .It Ev EDITOR
1.9 jmc 1904: Name of the editor to use when editing commit messages.
1905: This is traditionally a line-oriented editor,
1906: such as
1907: .Xr ex 1 .
1.74 xsa 1908: .It Ev HOME
1909: Directory where the
1910: .Pa .cvsignore
1911: and
1912: .Pa .cvsrc
1913: files are searched for.
1.77 xsa 1914: .It Ev TMPDIR
1.79 xsa 1915: When set, this variable specifies the directory where temporary files
1.77 xsa 1916: are to be created.
1917: The default is set to
1918: .Pa /tmp .
1.1 jfb 1919: .It Ev VISUAL
1.9 jmc 1920: Name of the editor to use when editing commit messages.
1921: This is traditionally a screen-oriented editor,
1922: such as
1923: .Xr vi 1 .
1.8 jmc 1924: .El
1.1 jfb 1925: .Sh SEE ALSO
1926: .Xr diff 1 ,
1.15 jmc 1927: .Xr gzip 1 ,
1.1 jfb 1928: .Xr patch 1 ,
1.8 jmc 1929: .Xr rcs 1 ,
1.106 jmc 1930: .Xr cvs 5 ,
1.62 xsa 1931: .Xr cvsintro 7
1.110 xsa 1932: .Sh STANDARDS
1933: The flag
1934: .Op Fl x
1935: has no effect and is provided
1936: for compatibility only.
1.8 jmc 1937: .Sh HISTORY
1938: The OpenCVS project is a BSD-licensed rewrite of the original
1939: Concurrent Versioning System written by Jean-Francois Brousseau.
1940: The original CVS code was written in large parts by Dick Grune,
1941: Brian Berliner and Jeff Polk.
1942: .Sh AUTHORS
1943: .An Jean-Francois Brousseau
1944: .An Vincent Labrecque
1945: .An Joris Vink
1.43 jfb 1946: .An Xavier Santolaria
1.2 jfb 1947: .Sh CAVEATS
1948: This CVS implementation does not fully conform to the GNU CVS version.
1.3 jfb 1949: In some cases, this was done explicitly because GNU CVS has inconsistencies
1.2 jfb 1950: or ambiguous behaviour.
1.3 jfb 1951: Some things have also been left out or modified to enhance the overall
1952: security of the system.
1953: .Pp
1954: Among other things, support for the pserver connection mechanism has been
1955: dropped because of security issues with the authentication mechanism.