Annotation of src/usr.bin/cvs/cvs.1, Revision 1.118
1.118 ! xsa 1: .\" $OpenBSD: cvs.1,v 1.117 2008/02/02 17:37:34 xsa 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.116 xsa 27: .Dd $Mdocdate: Febuary 2 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
55: are no real limitations to the type of files that you can store in a
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.99 reyk 106: This is the default.
1.101 xsa 107: .It Fl R
108: Permit checkout from a read-only repository.
1.109 xsa 109: Implies
110: .Fl l .
1.101 xsa 111: See also
112: .Ev CVSREADONLYFS ,
113: below.
1.70 xsa 114: .It Fl r
115: Extract files in read-only mode.
1.20 jmc 116: .It Fl s Ar var Ns = Ns Ar val
117: Set the value of the internal variable
118: .Ar var
119: to the string
120: .Ar val .
1.77 xsa 121: .It Fl T Ar tmpdir
122: Set the value of the directory where temporary files are to be created.
123: The default is set to
124: .Pa /tmp .
1.15 jmc 125: .It Fl t
126: Trace program execution.
1.99 reyk 127: .It Fl V
128: Verbose mode.
129: All messages will be displayed.
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.30 xsa 596: readable and writable and to inform others that you are planning to edit it.
597: Notifications terminate when the
598: .Ic commit
599: command is issued.
600: Editing rights on the file can be given up using the
601: .Ic unedit
1.35 jmc 602: command, which terminates the temporary notifications.
1.91 jmc 603: .Bd -literal -offset indent
1.107 sobrado 604: usage: cvs edit [-lR] [-a action] [file ...]
1.91 jmc 605: .Ed
1.30 xsa 606: .Pp
607: The
1.35 jmc 608: .Ic edit
609: command takes the following options:
610: .Bl -tag -width Ds -offset 3n
611: .It Fl a Ar action
612: Specify the temporary notification wanted:
613: .Pp
1.61 deraadt 614: .Bl -tag -width Ds -compact
1.30 xsa 615: .It Cm commit
1.35 jmc 616: Another user has committed changes to the file.
1.30 xsa 617: .It Cm edit
618: Another user has issued the
619: .Ic edit
1.35 jmc 620: command on the file.
1.30 xsa 621: .It Cm unedit
622: Another user has issued the
623: .Ic unedit
1.35 jmc 624: command on the file.
1.30 xsa 625: .It Cm all
626: All of the above.
627: .It Cm none
628: None of the above.
629: .El
630: .Pp
631: The
632: .Fl a
633: flag may appear more than once, or not at all.
634: If omitted, the action defaults to
1.31 jmc 635: .Cm all .
1.35 jmc 636: .It Fl l
637: Limit the scope of the search to the local directory
638: only and disable recursive behaviour.
639: .It Fl R
640: Enable recursive behaviour.
641: This is the default.
642: .El
1.91 jmc 643: .Ss editors
1.33 xsa 644: The
645: .Ic editors
646: command lists the users with edition rights on a file.
647: For that, pseudo-lock mode must be enabled (see the
648: .Ic watch
649: command).
650: The e-mail address of the user editing the file, the timestamp
651: when the edition first started, the host from where the edition
652: has been requested and the path to the edited file are listed.
1.91 jmc 653: .Bd -literal -offset indent
1.107 sobrado 654: usage: cvs editors [-lR] [file ...]
1.91 jmc 655: .Ed
1.33 xsa 656: .Pp
657: The
1.35 jmc 658: .Ic editors
659: command takes the following options:
660: .Bl -tag -width Ds -offset 3n
661: .It Fl l
662: Limit the scope of the search to the local directory
663: only and disable recursive behaviour.
664: .It Fl R
665: Enable recursive behaviour.
666: This is the default.
667: .El
1.91 jmc 668: .Ss export
1.36 xsa 669: The
670: .Ic export
671: command extracts a copy of
672: .Ar module
673: without including the directories used for management by
674: .Nm .
675: This eases production of a software release.
676: A date or a revision must be specified for the command to be valid,
677: which ensures that later extractions can be reproduced with the same
678: options as the release.
679: .Pp
680: The checked out module's files will be placed in a directory
681: bearing the same name as the checked out module, by default.
1.91 jmc 682: .Bd -literal -offset indent
1.107 sobrado 683: usage: cvs export [-flNnR] [-d dir] [-k mode]
1.91 jmc 684: -D date | -r rev module ...
685: .Ed
1.36 xsa 686: .Pp
687: The
688: .Ic export
689: command takes the following options:
690: .Bl -tag -width Ds -offset 3n
691: .It Fl D Ar date
692: Export as of the latest revision no later than
693: .Ar date .
694: .It Fl d Ar dir
695: Export in directory
696: .Ar dir
697: instead of the directory bearing the same name as the
698: .Ar module .
699: .It Fl f
700: Force the use of the head revision if the specified
701: tag or date is not found.
702: This can be used in combination with
703: .Fl D
704: or
705: .Fl r
706: to ensure that the
707: .Ic export
708: command is valid.
709: .It Fl k Ar mode
710: Specify the keyword substitution mode: the
711: .Fl k Ar v
712: option is often used to avoid substitution of keywords during
713: a release cycle.
714: However, be aware that it does not handle an export containing
715: binary files correctly.
716: .It Fl l
717: Limit the scope of the search to the local directory
718: only and disable recursive behaviour.
719: .It Fl N
720: If used in conjunction with the
721: .Fl d
722: option, files are placed in local directory
723: .Ar module ,
724: located in directory
725: .Ar dir .
726: .It Fl n
727: Do not execute programs listed in the
728: .Pa CVSROOT/modules
729: file.
730: .It Fl R
731: Enable recursive behaviour.
732: This is the default.
733: .It Fl r Ar rev
734: Export from a particular symbolic or numerical revision.
735: .El
1.13 jmc 736: .Pp
737: Aliases:
738: .Ic ex ,
739: .Ic exp .
1.91 jmc 740: .Ss history
1.49 xsa 741: The
742: .Ic history
743: command is used to display the history of actions done in the
744: base repository.
745: This functionality is only available if the
1.50 xsa 746: .Pa CVSROOT/history
1.49 xsa 747: file has been created.
748: Only the
749: .Ic checkout ,
750: .Ic commit ,
751: .Ic export ,
752: .Ic release ,
753: .Ic rtag ,
754: and
755: .Ic update
756: commands are logged into this file.
1.91 jmc 757: .Bd -literal -offset indent
1.107 sobrado 758: usage: cvs history [-aceloTw] [-b str] [-D date] [-f file]
1.91 jmc 759: [-m module] [-n module] [-p path] [-r rev]
760: [-t tag] [-u user] [-x ACEFGMORTUW] [-z tz]
761: [file ...]
762: .Ed
1.49 xsa 763: .Pp
764: The
765: .Ic history
766: command takes the following options:
767: .Bl -tag -width Ds -offset 3n
768: .It Fl a
769: Display records for all users.
770: By default, only records from the user issuing the
771: .Ic history
772: command are displayed.
773: .It Fl b Ar str
774: Display everything back to a record containing the string
775: .Ar str
776: in either the module name, the file name, or the repository path.
777: .It Fl c
778: Display the archived files
779: .Pf ( Ic commit
780: command).
781: .It Fl D Ar date
782: Report no later than
783: .Ar date .
784: .It Fl e
785: Select all records (same as
786: .Fl x
787: with all types).
788: .It Fl f Ar file
789: Display records related to
790: .Ar file .
791: .It Fl l
792: Show last checkouts of modules with the
793: .Ic checkout
794: command.
795: .It Fl m Ar module
796: Look for the
797: .Ar module
798: (can be used several times).
799: .It Fl n Ar module
800: Search into the
801: .Ar module .
802: .It Fl o
803: Report on modules checked out by users.
804: .It Fl p Ar path
805: Display records from the base repository being in the directory
806: specified by the
807: .Ar path .
808: .It Fl r Ar rev
809: Report for a particular revision (checks in the RCS file).
1.107 sobrado 810: .It Fl T
811: Report on all tags.
1.49 xsa 812: .It Fl t Ar tag
813: Report since tag record placed in the
1.50 xsa 814: .Pa CVSROOT/history
1.49 xsa 815: file by any user.
816: .It Fl u Ar user
817: Report for a specified
818: .Ar user .
819: Can be used several times to match many users.
820: .It Fl w
821: Check that records match the current working directory.
822: .It Fl x Ar ACEFGMORTUW
823: Extract by a specific record type specified by a single letter.
824: They can be used in combination.
825: The available types are as follows:
1.61 deraadt 826: .Bl -tag -width Ds
1.49 xsa 827: .It A
828: A file has been added with the
829: .Ic add
830: command.
831: .It C
832: A merge has been done, but unresolved conflicts still remain.
833: .It E
834: Export.
835: .It F
836: Release.
837: .It G
838: A merge has been done without conflict.
839: .It M
840: A file has been modified (using the
841: .Ic commit
842: command).
843: .It O
844: Checkout.
845: .It R
846: A file has been removed with the
847: .Ic remove
848: command.
849: .It T
850: Rtag.
851: .It U
852: Normal update.
853: .It W
854: The file has been deleted from the directory because it does not
855: exist anymore in the base repository.
856: .El
857: .It Fl z Ar tz
1.107 sobrado 858: Display records with the time synchronized with timezone
859: .Ar tz .
1.49 xsa 860: .El
861: .Pp
862: All records have the following five first columns:
863: .Pp
864: .Bl -dash -compact
865: .It
866: The record type (the
867: .Fl x
868: option).
869: .It
870: The date of the action.
871: .It
872: The time of the action.
873: .It
874: The time zone.
875: .It
876: The user who made the action.
877: .El
878: .Pp
1.51 xsa 879: The other columns vary depending on the command issued:
880: .Pp
881: For records coming from the
882: .Ic rtag
883: command, the additional columns are as follows:
884: .Bd -literal -offset indent
885: <module> [<tag>:<argument>] {<working directory>}
886: .Ed
887: .Pp
888: For records coming from the
889: .Ic checkout
890: and
891: .Ic export
892: commands, the additional columns are as follows:
893: .Bd -literal -offset indent
894: <request> <repository> =<module>= <working directory>
895: .Ed
896: .Pp
897: For records coming from the
898: .Ic release
899: command, the additional columns are as follows:
900: .Bd -literal -offset indent
901: =<module>= <working directory>
902: .Ed
903: .Pp
904: For records coming from the
905: .Ic commit
906: and
907: .Ic update
908: commands, the additional columns are as follows:
909: .Bd -literal -offset indent
910: <version> <file> <module> == <working directory>
911: .Ed
1.13 jmc 912: .Pp
913: Aliases:
914: .Ic hi ,
915: .Ic his .
1.91 jmc 916: .Ss import
1.13 jmc 917: Import sources into CVS using vendor branches.
1.22 jmc 918: .Pp
919: At least three arguments are required:
1.72 xsa 920: .Ar module
1.22 jmc 921: specifies the location of the sources to be imported;
922: .Ar vendortag
923: is a tag for the entire branch;
924: .Ar releasetag
925: is used to identify the files you created with
1.35 jmc 926: .Ic cvs import .
1.91 jmc 927: .Bd -literal -offset indent
1.107 sobrado 928: usage: cvs import [-d] [-b branch] [-I ign] [-k mode] [-m msg]
1.91 jmc 929: [-W spec] module vendortag releasetag
930: .Ed
1.35 jmc 931: .Pp
932: The
933: .Ic import
934: command takes the following options:
935: .Bl -tag -width Ds -offset 3n
936: .It Fl b Ar branch
937: Specify the first-level branch number.
1.78 xsa 938: .It Fl d
939: Use the file's last modification time as the timestamp for the
940: initial revisions.
1.72 xsa 941: .It Fl I Ar ign
942: Ignore files specified by
943: .Ar ign .
944: This option can be used several times on the command line.
945: To see all files, use the
946: .Fl I Ar !\&
947: specification.
948: .It Fl k Ar mode
949: Specify the keyword substitution mode (is sticky).
1.35 jmc 950: .It Fl m Ar msg
951: Specify the log message to send.
1.72 xsa 952: .It Fl W Ar spec
953: Wrappers specification line.
1.35 jmc 954: .El
1.13 jmc 955: .Pp
956: Aliases:
957: .Ic im ,
958: .Ic imp .
1.91 jmc 959: .Ss init
1.13 jmc 960: Create a CVS repository if it doesn't exist.
1.91 jmc 961: .Ss kserver
1.13 jmc 962: Start a Kerberos authentication server.
1.91 jmc 963: .Ss log
1.52 xsa 964: The
965: .Ic log
966: command displays information on a
967: .Ar file
968: such as its different revisions, description, different tags,
969: as well as the comments, dates, and authors of these revisions.
970: By default, the
971: .Ic log
972: command displays all the available information; the options are only
973: used to restrict the displayed information.
1.91 jmc 974: .Bd -literal -offset indent
1.107 sobrado 975: usage: cvs log [-bhlNRt] [-d dates] [-r revs] [-s state]
1.91 jmc 976: [-w users] [file ...]
977: .Ed
1.52 xsa 978: .Pp
979: The
980: .Ic log
981: command takes the following options:
982: .Bl -tag -width Ds -offset 3n
983: .It Fl b
984: List revisions of the default branch only.
985: .It Fl d Ar dates
986: Specify revisions with dates matching the specification.
987: The specification might be as follows:
1.61 deraadt 988: .Bl -tag -width Ds
1.108 sobrado 989: .It date1<date2 or date2>date1
1.52 xsa 990: Select all revisions between
1.108 sobrado 991: .Ar date1
1.52 xsa 992: and
1.108 sobrado 993: .Ar date2 .
994: .It <date or date>
1.52 xsa 995: Select all revisions before
1.108 sobrado 996: .Ar date .
997: .It >date or date<
1.52 xsa 998: Select all revisions after
1.108 sobrado 999: .Ar date .
1000: .It date
1.52 xsa 1001: Select the latest revision before or equal to
1.108 sobrado 1002: .Ar date .
1.52 xsa 1003: .El
1004: .Pp
1005: The
1006: .Sq \*(Gt
1007: and
1008: .Sq \*(Lt
1009: characters can be followed by the
1010: .Sq =
1011: character to imply an inclusive specification.
1012: Several specifications can be used by separating them with the
1013: .Sq \&;
1014: character.
1015: .It Fl h
1016: Print header only.
1017: .It Fl l
1018: Limit the scope of the search to the local directory only.
1019: .It Fl N
1020: Do not list tags.
1021: .It Fl R
1022: Print name of RCS file only.
1023: .It Fl r Ar revs
1024: Specify revision(s) to list:
1.61 deraadt 1025: .Bl -tag -width Ds
1.107 sobrado 1026: .It rev1,rev2,...
1.52 xsa 1027: A list of revisions is specified by separating names or numbers
1028: of revisions by the
1029: .Sq \&,
1030: character.
1.107 sobrado 1031: .It rev1:rev2
1.52 xsa 1032: List all revisions between
1.107 sobrado 1033: .Ar rev1
1.52 xsa 1034: and
1.107 sobrado 1035: .Ar rev2
1.52 xsa 1036: (they must be on the same branch).
1.107 sobrado 1037: .It :rev
1.52 xsa 1038: List all revisions since the beginning of the branch until
1.107 sobrado 1039: .Ar rev
1.52 xsa 1040: included.
1.107 sobrado 1041: .It rev:
1.52 xsa 1042: List all revisions of the branch beginning with
1.107 sobrado 1043: .Ar rev .
1044: .It branch
1.52 xsa 1045: List all revisions of a branch.
1.107 sobrado 1046: .It branch.
1.52 xsa 1047: List the latest revision of the branch
1.107 sobrado 1048: .Ar branch .
1049: .It branch1:branch2
1.52 xsa 1050: List all revisions of branches between
1.107 sobrado 1051: .Ar branch1
1.52 xsa 1052: and
1.107 sobrado 1053: .Ar branch2 .
1.52 xsa 1054: .El
1055: .Pp
1056: Without argument, the
1057: .Fl r
1058: option means the latest revision of the default branch.
1059: .It Fl s Ar state
1060: List revisions of the specified
1061: .Ar state
1062: only.
1063: Several states can be listed by separating them with the
1064: .Sq \&,
1065: character.
1066: .It Fl t
1067: Print header and description only.
1068: .It Fl w Ar users
1069: Do not list revisions made by specified
1070: .Ar users .
1071: Usernames should be separated by the
1072: .Sq \&,
1073: character.
1074: .El
1.13 jmc 1075: .Pp
1076: Aliases:
1077: .Ic lo .
1.115 xsa 1078: .Ss rannotate
1079: For each line of any files specified, show information about its
1080: last revision.
1081: The information given is the last revision when a modification occurred,
1082: the author's name, and the date of the revision.
1083: This command does not need a local checkout of the repository
1084: to work.
1085: .Bd -literal -offset indent
1.118 ! xsa 1086: usage: cvs rannotate [flR] [-D date | -r rev] module ...
1.115 xsa 1087: .Ed
1088: .Pp
1089: The
1090: .Ic rannotate
1091: command takes the following options:
1092: .Bl -tag -width Ds -offset 3n
1093: .It Fl D Ar date
1094: Show the annotations as of the latest revision no later than
1095: .Ar date .
1096: .It Fl f
1097: Force the use of the head revision if the specified
1098: tag or date is not found.
1099: This can be used in combination with
1100: .Fl D
1101: or
1102: .Fl r
1103: to ensure that there is some output from the
1104: .Ic rannotate
1105: command, even if only to show Revision 1.1 of the file.
1106: .It Fl l
1107: Limit the scope of the search to the local directory
1108: only and disable recursive behaviour.
1109: .It Fl R
1110: Enable recursive behaviour.
1111: This is the default.
1112: .It Fl r Ar rev
1113: Show annotations as of revision
1114: .Ar rev
1115: (can be a revision number or a tag).
1116: .El
1117: .Pp
1118: Aliases:
1119: .Ic rann ,
1120: .Ic ra .
1.91 jmc 1121: .Ss rdiff
1.55 xsa 1122: The
1123: .Ic rdiff
1124: command lists differences between two revisions in a
1.13 jmc 1125: .Xr patch 1
1.55 xsa 1126: compatible format.
1127: This command does not need a local checkout of the repository
1128: to work.
1.91 jmc 1129: .Bd -literal -offset indent
1.107 sobrado 1130: usage: cvs rdiff [-flR] [-c | -u] [-s | -t] [-V ver]
1.91 jmc 1131: -D date | -r rev [-D date2 | -r rev2]
1132: module ...
1133: .Ed
1.55 xsa 1134: .Pp
1135: The
1136: .Ic rdiff
1137: command takes the following options:
1138: .Bl -tag -width Ds -offset 3n
1139: .It Fl c
1140: Produces a diff with three lines of context.
1141: See
1142: .Xr diff 1
1143: for more information.
1144: This is the default.
1145: .It Xo Fl D Ar date
1146: .Op Fl D Ar date2
1147: .Xc
1148: Differences between the revision at
1149: .Ar date
1150: and the working copy or
1151: .Ar date
1152: and
1153: .Ar date2
1154: (if specified).
1155: .It Fl f
1156: Force the use of the head revision if the specified
1157: date or revision is not found.
1158: .It Fl l
1159: Limit the scope of the search to the local directory
1160: only and disable recursive behaviour.
1161: .It Fl R
1162: Enable recursive behaviour.
1163: This is the default.
1164: .It Xo Fl r Ar rev
1165: .Op Fl r Ar rev2
1166: .Xc
1167: Differences between revision
1168: .Ar rev
1169: and the working copy or
1170: .Ar rev
1171: and
1172: .Ar rev2
1173: (if specified).
1174: .It Fl s
1175: Create a summary change instead of a whole patch.
1176: .It Fl t
1177: Lists differences between the last two revisions of each file.
1178: .It Fl u
1179: Produces a diff in unidiff format.
1180: .It Fl V Ar ver
1181: Use the RCS version
1182: .Ar ver
1183: for keyword substitution.
1184: .El
1185: .Pp
1186: Aliases:
1187: .Ic pa ,
1188: .Ic patch .
1.91 jmc 1189: .Ss release
1.39 xsa 1190: The
1191: .Ic release
1192: command indicates to
1193: .Nm
1194: that the working copy of a module is no longer in use and checks
1195: that non archived modifications in the base repository do exist.
1196: This command is not mandatory.
1197: Local directories could always be removed without using it, but
1198: in this case the handling of history information will no longer be
1199: correct (see the
1200: .Ic history
1201: command).
1.91 jmc 1202: .Bd -literal -offset indent
1.107 sobrado 1203: usage: cvs release [-d] dir ...
1.91 jmc 1204: .Ed
1.39 xsa 1205: .Pp
1206: The
1207: .Ic release
1208: command takes the following options:
1209: .Bl -tag -width Ds -offset 3n
1210: .It Fl d Ar dir
1211: Remove the directory
1212: .Ar dir .
1213: Be aware that this option silently removes any directories that have
1214: been added to the local working copy without using the
1215: .Ic add
1216: command.
1217: .El
1218: .Pp
1219: For each file not being synchronized with the base repository,
1220: a single letter prefix is given to specify the state of the file.
1221: The possible prefixes are as follows:
1.61 deraadt 1222: .Bl -tag -width Ds
1.39 xsa 1223: .It \&?
1224: The file is unknown to
1225: .Nm
1226: and is not in the list of files to ignore.
1227: Any new directories which have not been added with the
1228: .Ic add
1229: command are silently ignored as well as their content.
1230: .It A
1231: The file has been added with the
1232: .Ic add
1233: command, but has not been committed to the repository with the
1234: .Ic commit
1235: command.
1236: .It M
1237: The file has been locally modified; a more recent version might
1238: exist in the base repository.
1239: .It R
1240: The file has been removed with the
1241: .Ic remove
1242: command, but has not been committed to the repository with the
1243: .Ic commit
1244: command.
1245: .It U
1246: A more recent version of the file does exist but it is not
1247: locally up to date.
1248: .El
1.40 xsa 1249: .Pp
1250: Aliases:
1251: .Ic re ,
1252: .Ic rel .
1.91 jmc 1253: .Ss remove
1.18 xsa 1254: The
1255: .Ic remove
1256: command is used to inform
1257: .Nm
1258: that
1259: .Ar file
1260: is scheduled to be removed from the repository.
1261: Files are not actually removed from the repository until the
1262: .Ic commit
1263: command has been run subsequently.
1.88 xsa 1264: .Pp
1265: There is no way to remove a directory with the
1266: .Ic remove
1267: command.
1268: .Nm
1269: will only remove a directory if it is empty and if the
1270: .Ic checkout
1271: or
1272: .Ic update
1273: commands are run with the
1274: .Fl P
1275: option.
1276: (Note that the
1277: .Ic export
1278: command always removes empty directories.)
1.91 jmc 1279: .Bd -literal -offset indent
1.107 sobrado 1280: usage: cvs remove [-flR] [file ...]
1.91 jmc 1281: .Ed
1.28 xsa 1282: .Pp
1283: The
1.35 jmc 1284: .Ic remove
1285: command takes the following options:
1286: .Bl -tag -width Ds -offset 3n
1287: .It Fl f
1288: Force local file removal.
1.28 xsa 1289: If this flag is not used, the file must be locally removed beforehand for
1290: the command to be valid.
1.35 jmc 1291: .It Fl l
1292: Limit the scope of the search to the local directory
1293: only and disable recursive behaviour.
1294: .It Fl R
1295: Enable recursive behaviour.
1296: This is the default.
1297: .El
1.18 xsa 1298: .Pp
1299: Aliases:
1.19 xsa 1300: .Ic rm ,
1301: .Ic delete .
1.91 jmc 1302: .Ss rlog
1.117 xsa 1303: The
1304: .Ic rlog
1305: command displays information on a
1306: .Ar file
1307: such as its different revisions, description, different tags,
1308: as well as the comments, dates, and authors of these revisions.
1309: By default, the
1310: .Ic rlog
1311: command displays all the available information; the options are only
1312: used to restrict the displayed information.
1313: This command does not need a local checkout of the repository
1314: to work.
1315: .Bd -literal -offset indent
1316: usage: cvs rlog [-bhlNRt] [-d dates] [-r revs] [-s state]
1317: [-w users] module ...
1318: .Ed
1319: .Pp
1320: The
1321: .Ic rlog
1322: command takes the following options:
1323: .Bl -tag -width Ds -offset 3n
1324: .It Fl b
1325: List revisions of the default branch only.
1326: .It Fl d Ar dates
1327: Specify revisions with dates matching the specification.
1328: The specification might be as follows:
1329: .Bl -tag -width Ds
1330: .It date1<date2 or date2>date1
1331: Select all revisions between
1332: .Ar date1
1333: and
1334: .Ar date2 .
1335: .It <date or date>
1336: Select all revisions before
1337: .Ar date .
1338: .It >date or date<
1339: Select all revisions after
1340: .Ar date .
1341: .It date
1342: Select the latest revision before or equal to
1343: .Ar date .
1344: .El
1345: .Pp
1346: The
1347: .Sq \*(Gt
1348: and
1349: .Sq \*(Lt
1350: characters can be followed by the
1351: .Sq =
1352: character to imply an inclusive specification.
1353: Several specifications can be used by separating them with the
1354: .Sq \&;
1355: character.
1356: .It Fl h
1357: Print header only.
1358: .It Fl l
1359: Limit the scope of the search to the local directory only.
1360: .It Fl N
1361: Do not list tags.
1362: .It Fl R
1363: Print name of RCS file only.
1364: .It Fl r Ar revs
1365: Specify revision(s) to list:
1366: .Bl -tag -width Ds
1367: .It rev1,rev2,...
1368: A list of revisions is specified by separating names or numbers
1369: of revisions by the
1370: .Sq \&,
1371: character.
1372: .It rev1:rev2
1373: List all revisions between
1374: .Ar rev1
1375: and
1376: .Ar rev2
1377: (they must be on the same branch).
1378: .It :rev
1379: List all revisions since the beginning of the branch until
1380: .Ar rev
1381: included.
1382: .It rev:
1383: List all revisions of the branch beginning with
1384: .Ar rev .
1385: .It branch
1386: List all revisions of a branch.
1387: .It branch.
1388: List the latest revision of the branch
1389: .Ar branch .
1390: .It branch1:branch2
1391: List all revisions of branches between
1392: .Ar branch1
1393: and
1394: .Ar branch2 .
1395: .El
1396: .Pp
1397: Without argument, the
1398: .Fl r
1399: option means the latest revision of the default branch.
1400: .It Fl s Ar state
1401: List revisions of the specified
1402: .Ar state
1403: only.
1404: Several states can be listed by separating them with the
1405: .Sq \&,
1406: character.
1407: .It Fl t
1408: Print header and description only.
1409: .It Fl w Ar users
1410: Do not list revisions made by specified
1411: .Ar users .
1412: Usernames should be separated by the
1413: .Sq \&,
1414: character.
1415: .El
1416: .Pp
1417: Aliases:
1418: .Ic rlo .
1.91 jmc 1419: .Ss rtag
1.56 xsa 1420: The
1421: .Ic rtag
1422: command adds a symbolic tag to one or more modules.
1423: It is often used to create a new branch using the
1424: .Fl b
1425: option.
1.91 jmc 1426: .Bd -literal -offset indent
1.107 sobrado 1427: usage: cvs rtag [-abdFflnR] [-D date | -r rev]
1.91 jmc 1428: symbolic_tag module ...
1429: .Ed
1.56 xsa 1430: .Pp
1431: The
1432: .Ic rtag
1433: command takes the following options:
1434: .Bl -tag -width Ds -offset 3n
1435: .It Fl a
1436: Clear tag from files already removed with the
1437: .Ic remove
1438: command.
1439: .It Fl b
1440: Create a branch.
1441: .It Fl D Ar date
1442: Tag the most recent revision before
1443: .Ar date .
1444: .It Fl d
1445: Delete tag.
1446: .It Fl F
1447: Move tag if it already exists.
1448: If this option is not used and a tag is used a second time,
1449: .Nm
1450: will not execute the action.
1451: .It Fl f
1452: Force the use of the head revision if the specified
1453: revision or date is not found.
1454: .It Fl l
1455: Limit the scope of the search to the local directory
1456: only and disable recursive behaviour.
1457: .It Fl n
1458: Do not execute programs listed in the
1459: .Pa CVSROOT/modules
1460: file.
1461: .It Fl R
1462: Enable recursive behaviour.
1463: This is the default.
1464: .It Fl r Ar rev
1465: Tag at revision
1466: .Ar rev .
1467: .El
1468: .Pp
1469: Aliases:
1470: .Ic rt ,
1471: .Ic rfreeze .
1.91 jmc 1472: .Ss server
1.13 jmc 1473: Server mode.
1.91 jmc 1474: .Ss status
1.25 xsa 1475: The
1476: .Ic status
1477: command is used to display the state of checked out files.
1.91 jmc 1478: .Bd -literal -offset indent
1.107 sobrado 1479: usage: cvs status [-lRv] [file ...]
1.91 jmc 1480: .Ed
1.25 xsa 1481: .Pp
1482: The
1.35 jmc 1483: .Ic status
1484: command takes the following options:
1485: .Bl -tag -width Ds -offset 3n
1486: .It Fl l
1487: Limit the scope of the search to the local directory
1488: only and disable recursive behaviour.
1489: .It Fl R
1490: Enable recursive behaviour.
1491: This is the default.
1492: .It Fl v
1493: Display symbolic tags for
1494: .Ar file .
1.25 xsa 1495: .Pp
1.35 jmc 1496: The state may be one of the following:
1.61 deraadt 1497: .Bl -tag -width Ds
1.25 xsa 1498: .It Cm Locally Added
1499: The file has been added with the
1500: .Ic add
1501: command, but has not been committed to the repository with the
1502: .Ic commit
1503: command.
1504: .It Cm Locally Modified
1.35 jmc 1505: The file is up to date, but has been locally modified.
1.25 xsa 1506: .It Cm Locally Removed
1507: The file has been removed with the
1508: .Ic remove
1509: command, but has not been committed to the repository with the
1510: .Ic commit
1511: command.
1512: .It Cm Needs Checkout
1513: The file has not been modified; a new version is available.
1514: .It Cm Needs Merge
1515: The file has been modified and a newer version is available.
1516: .It Cm Needs Patch
1517: Same as
1518: .Ic Needs Checkout
1519: but, in client-server mode, only the differences are sent to save
1520: network resources.
1521: .It Cm Unresolved Conflict
1522: A merge has been done, but unresolved conflicts still remain.
1523: .It Cm Up-to-date
1524: The file is up to date.
1525: .El
1.35 jmc 1526: .El
1.13 jmc 1527: .Pp
1528: Aliases:
1529: .Ic st ,
1530: .Ic stat .
1.91 jmc 1531: .Ss tag
1.57 xsa 1532: The
1533: .Ic tag
1534: command adds a symbolic tag to a checked out version of one or more files.
1.91 jmc 1535: .Bd -literal -offset indent
1.107 sobrado 1536: usage: cvs tag [-bcdFflR] [-D date | -r rev] [symbolic_tag]
1.91 jmc 1537: [file ...]
1538: .Ed
1.21 jmc 1539: .Pp
1540: The
1.35 jmc 1541: .Ic tag
1542: command takes the following options:
1543: .Bl -tag -width Ds -offset 3n
1544: .It Fl b
1.57 xsa 1545: Create a branch.
1546: .It Fl c
1547: Check that working files are not modified.
1548: .It Fl D Ar date
1549: Tag the most recent revision before
1550: .Ar date .
1.35 jmc 1551: .It Fl d
1552: Delete tag.
1.57 xsa 1553: .It Fl F
1554: Move tag if it already exists.
1555: If this option is not used and a tag is used a second time,
1556: .Nm
1557: will not execute the action.
1558: .It Fl f
1559: Force the use of the head revision if the specified
1560: revision or date is not found.
1.35 jmc 1561: .It Fl l
1562: Limit the scope of the search to the local directory
1563: only and disable recursive behaviour.
1564: .It Fl R
1565: Enable recursive behaviour.
1566: This is the default.
1.57 xsa 1567: .It Fl r Ar rev
1568: Tag at revision
1569: .Ar rev .
1.35 jmc 1570: .El
1.13 jmc 1571: .Pp
1572: Aliases:
1573: .Ic ta ,
1574: .Ic freeze .
1.91 jmc 1575: .Ss unedit
1.30 xsa 1576: The
1577: .Ic unedit
1578: command is used to give up an edition on a file and thus cancel
1579: the wanted temporary notifications.
1580: If the file has been modified since the
1.13 jmc 1581: .Ic edit
1.30 xsa 1582: command has been issued,
1583: .Nm
1584: will ask if you want to go back to the previous version, and lose the
1585: modifications done on the file, or stay in edition mode on it.
1.91 jmc 1586: .Bd -literal -offset indent
1.107 sobrado 1587: usage: cvs unedit [-lR] [file ...]
1.91 jmc 1588: .Ed
1.30 xsa 1589: .Pp
1590: The
1.35 jmc 1591: .Ic unedit
1592: command takes the following options:
1593: .Bl -tag -width Ds -offset 3n
1594: .It Fl l
1595: Limit the scope of the search to the local directory
1596: only and disable recursive behaviour.
1597: .It Fl R
1598: Enable recursive behaviour.
1599: This is the default.
1600: .El
1.91 jmc 1601: .Ss update
1.3 jfb 1602: The
1.11 jmc 1603: .Ic update
1.17 david 1604: command is used to merge any of the changes that have occurred on the remote
1.3 jfb 1605: repository into the local one where the command was run.
1.91 jmc 1606: .Bd -literal -offset indent
1.107 sobrado 1607: usage: cvs update [-ACdflPpR] [-D date | -r rev] [-I ign]
1.91 jmc 1608: [-j rev] [-k mode] [-W spec] [file ...]
1609: .Ed
1.3 jfb 1610: .Pp
1611: The
1.35 jmc 1612: .Ic update
1613: command takes the following options:
1614: .Bl -tag -width Ds -offset 3n
1615: .It Fl A
1.41 xsa 1616: Reset any sticky tags, dates, or keyword substitution modes that
1617: have been set on the tree.
1.102 xsa 1618: .It Fl C
1619: Overwrite locally modified files with clean repository copies.
1.38 xsa 1620: .It Fl D Ar date
1621: Update as of the latest revision no later than
1622: .Ar date
1623: (is sticky).
1624: .It Fl d
1625: Create any new directories.
1626: Without this option,
1627: .Nm
1628: does not create any new files sitting in these new directories
1629: added in the base repository since the last update of the working
1630: copy, or since the last update with the
1631: .Fl d
1632: option.
1633: .It Fl f
1634: Force the use of the head revision if the specified
1635: tag or date is not found.
1636: .It Fl I Ar ign
1637: Ignore files specified by
1638: .Ar ign .
1639: This option can be used several times on the command line.
1640: To see all files, use the
1641: .Fl I Ar !\&
1642: specification.
1643: .It Fl j Ar rev
1644: Merge in changes made between current revision and
1645: .Ar rev .
1646: If two
1647: .Fl j
1648: options are specified, only merge the differences between the two
1649: revisions of the branch.
1650: This allows successive merges without having to resolve
1651: already resolved conflicts again.
1652: .It Fl k Ar mode
1653: Specify the keyword substitution mode (is sticky).
1.35 jmc 1654: .It Fl l
1655: Limit the scope of the search to the local directory
1656: only and disable recursive behaviour.
1657: .It Fl P
1658: Prune any directories that have become empty as a result of the update.
1.38 xsa 1659: .It Fl p
1660: Send the result of the update to standard output (avoids stickiness).
1.35 jmc 1661: .It Fl R
1662: Enable recursive behaviour.
1663: This is the default.
1.38 xsa 1664: .It Fl r Ar rev
1665: Update from a particular revision or branch (is sticky).
1666: .It Fl W Ar spec
1667: Wrappers specification line.
1.35 jmc 1668: .El
1.38 xsa 1669: .Pp
1670: By default, the
1671: .Ic update
1672: command does not create new directories; the
1673: .Fl d
1674: option must be used for that.
1.29 xsa 1675: .Pp
1676: For each file updated, a single letter prefix is given to
1677: specify the state of the file.
1678: The possible prefixes are as follows:
1.61 deraadt 1679: .Bl -tag -width Ds
1.29 xsa 1680: .It \&?
1681: The file is unknown to
1682: .Nm .
1683: .It A
1684: The file has been added with the
1685: .Ic add
1686: command, but has not been committed to the repository with the
1687: .Ic commit
1688: command.
1689: .It C
1690: A merge, with a more recent version of the file, has been done,
1691: but unresolved conflicts still remain.
1692: .It M
1693: The file has been locally modified; if a more recent version
1694: is available, the merge has been done without conflict.
1695: .It P
1696: The same as
1697: .Sq U ,
1698: but, in client-server mode, only differences are sent to save network
1699: resources.
1700: .It R
1701: The file has been removed with the
1702: .Ic remove
1703: command, but has not been committed to the repository with the
1704: .Ic commit
1705: command.
1706: .It U
1707: The file is up to date.
1708: .El
1.13 jmc 1709: .Pp
1710: Aliases:
1711: .Ic up ,
1712: .Ic upd .
1.91 jmc 1713: .Ss version
1.3 jfb 1714: Causes
1715: .Nm
1716: to print its version information.
1.14 jfb 1717: If this command is issued within a local copy of a remote repository or
1718: if either the
1719: .Ev CVSROOT
1720: environment variable or the
1721: .Fl d
1722: flag specify a remote repository,
1.3 jfb 1723: .Nm
1724: will also connect to the server and ask it to print its version information.
1.13 jmc 1725: .Pp
1726: Aliases:
1727: .Ic ve ,
1728: .Ic ver .
1.91 jmc 1729: .Ss watch
1.32 xsa 1730: The
1731: .Ic watch
1732: command switches a file from normal mode to
1733: pseudo-lock mode as well as handling the notifications associated
1734: with it.
1735: Pseudo-lock mode means knowing who is editing a file:
1736: for that,
1737: .Nm
1738: extracts the file in read-only mode.
1739: Users must use the
1740: .Ic edit
1741: command to get the editing rights on the file.
1742: .Pp
1743: One of the following arguments to the
1744: .Ic watch
1745: command is mandatory: on, off, add, or remove.
1746: .Ar on
1747: switches the file into pseudo-lock mode;
1748: .Ar off
1749: switches it back to normal mode;
1750: .Ar add
1751: adds notifications for specific actions on the file;
1752: .Ar remove
1753: removes those notifications.
1754: .Pp
1755: The notifications are permanent.
1756: They remain in place until the
1757: .Ic watch remove
1758: command is issued while the temporary notifications are
1759: made available with the
1760: .Ic edit
1761: command.
1.91 jmc 1762: .Bd -literal -offset indent
1.107 sobrado 1763: usage: cvs watch on | off | add | remove [-lR] [-a action]
1.91 jmc 1764: [file ...]
1765: .Ed
1.32 xsa 1766: .Pp
1767: The
1.35 jmc 1768: .Ic watch
1769: command takes the following options:
1770: .Bl -tag -width Ds -offset 3n
1771: .It Fl a Ar action
1772: Specify the permanent notification wanted for
1.32 xsa 1773: .Ar add | remove :
1774: .Pp
1.61 deraadt 1775: .Bl -tag -width Ds -compact
1.32 xsa 1776: .It Cm commit
1.35 jmc 1777: Another user has committed changes to the file.
1.32 xsa 1778: .It Cm edit
1.35 jmc 1779: Another user is editing the file.
1.32 xsa 1780: .It Cm unedit
1.35 jmc 1781: Another user has finished editing the file.
1.32 xsa 1782: .It Cm all
1783: All of the above.
1784: .It Cm none
1785: No notification.
1786: .El
1787: .Pp
1.35 jmc 1788: If no specification is requested using the
1.32 xsa 1789: .Ar add
1790: or
1791: .Ar remove
1792: arguments, it implies the
1793: .Fl a Ar all
1794: option.
1.35 jmc 1795: .It Fl l
1796: Limit the scope of the search to the local directory
1797: only and disable recursive behaviour.
1798: .It Fl R
1799: Enable recursive behaviour.
1800: This is the default.
1801: .El
1.91 jmc 1802: .Ss watchers
1.32 xsa 1803: The
1804: .Ic watchers
1805: command lists the users who asked for notifications as well as the
1806: notifications details.
1807: The possible notifications are as follows:
1.61 deraadt 1808: .Bl -tag -width Ds
1.32 xsa 1809: .It Cm commit
1810: Permanent watch of a commit of a new version of a file.
1811: .It Cm edit
1812: Permanent watch of the start of file edition.
1813: .It Cm tcommit
1814: Temporary watch of a commit of new version of a file.
1815: .It Cm tedit
1816: Temporary watch of the start of file edition.
1817: .It Cm tunedit
1818: Temporary watch of the end of file edition.
1819: .It Cm unedit
1820: Permanent watch of the end of file edition.
1821: .El
1822: .Pp
1823: The temporary watches are set using the
1824: .Ic edit
1825: command, until the
1826: .Ic commit
1827: or
1828: .Ic unedit
1.35 jmc 1829: command is issued on a file.
1.91 jmc 1830: .Bd -literal -offset indent
1.107 sobrado 1831: usage: cvs watchers [-lR] [file ...]
1.91 jmc 1832: .Ed
1.35 jmc 1833: .Pp
1834: The
1835: .Ic watchers
1836: command takes the following options:
1837: .Bl -tag -width Ds -offset 3n
1838: .It Fl l
1839: Limit the scope of the search to the local directory
1840: only and disable recursive behaviour.
1841: .It Fl R
1842: Enable recursive behaviour.
1843: This is the default.
1.1 jfb 1844: .El
1845: .Sh ENVIRONMENT
1.61 deraadt 1846: .Bl -tag -width Ds
1.8 jmc 1847: .It Ev CVS_CLIENT_LOG
1848: This variable enables logging of all communications between the client and
1849: server when running in non-local mode.
1850: If set, this environment variable must contain a base path from which two
1851: paths will be generated by appending ".in" to the value for the server's
1852: input and ".out" for the server's output.
1.64 joris 1853: .Pp
1.65 joris 1854: The path can contain the following substitutes:
1855: .Pp
1856: .Bl -tag -width Ds -offset indent -compact
1.64 joris 1857: .It %c
1.65 joris 1858: the command being run
1.64 joris 1859: .It %d
1.65 joris 1860: the date
1861: .It %p
1862: the process ID
1.64 joris 1863: .It %u
1.65 joris 1864: the username of the person running it
1.64 joris 1865: .El
1866: .Pp
1867: The substitutes are only supported by OpenCVS.
1.1 jfb 1868: .It Ev CVS_RSH
1869: Name of the program to use when connecting to the server through a remote
1870: shell.
1871: The default is to use the
1872: .Xr ssh 1
1873: program.
1874: .It Ev CVS_SERVER
1875: If set, gives the name of the program to invoke as a
1876: .Nm
1877: server when using remote shell.
1878: The default is to use `cvs'.
1879: .It Ev CVSEDITOR
1880: Name of the editor to use when editing commit messages.
1.8 jmc 1881: Checked before
1882: .Ev EDITOR
1883: and
1884: .Ev VISUAL .
1.70 xsa 1885: .It Ev CVSREAD
1886: If set,
1887: .Nm
1888: extracts files in read-only mode.
1.101 xsa 1889: .It Ev CVSREADONLYFS
1890: Permit checkout from a read-only repository.
1.109 xsa 1891: Implies
1892: .Fl l .
1.101 xsa 1893: See also
1894: .Fl R ,
1895: above.
1.8 jmc 1896: .It Ev CVSROOT
1897: When set, this variable should contain the string pointing to the root
1898: directory of the CVS repository.
1899: The contents of this variable are ignored when the
1900: .Fl d
1901: option is given or if `Root' files exist in the checked-out copy.
1.1 jfb 1902: .It Ev EDITOR
1.9 jmc 1903: Name of the editor to use when editing commit messages.
1904: This is traditionally a line-oriented editor,
1905: such as
1906: .Xr ex 1 .
1.74 xsa 1907: .It Ev HOME
1908: Directory where the
1909: .Pa .cvsignore
1910: and
1911: .Pa .cvsrc
1912: files are searched for.
1.77 xsa 1913: .It Ev TMPDIR
1.79 xsa 1914: When set, this variable specifies the directory where temporary files
1.77 xsa 1915: are to be created.
1916: The default is set to
1917: .Pa /tmp .
1.1 jfb 1918: .It Ev VISUAL
1.9 jmc 1919: Name of the editor to use when editing commit messages.
1920: This is traditionally a screen-oriented editor,
1921: such as
1922: .Xr vi 1 .
1.8 jmc 1923: .El
1.1 jfb 1924: .Sh SEE ALSO
1925: .Xr diff 1 ,
1.15 jmc 1926: .Xr gzip 1 ,
1.1 jfb 1927: .Xr patch 1 ,
1.8 jmc 1928: .Xr rcs 1 ,
1.106 jmc 1929: .Xr cvs 5 ,
1.62 xsa 1930: .Xr cvsintro 7
1.110 xsa 1931: .Sh STANDARDS
1932: The flag
1933: .Op Fl x
1934: has no effect and is provided
1935: for compatibility only.
1.8 jmc 1936: .Sh HISTORY
1937: The OpenCVS project is a BSD-licensed rewrite of the original
1938: Concurrent Versioning System written by Jean-Francois Brousseau.
1939: The original CVS code was written in large parts by Dick Grune,
1940: Brian Berliner and Jeff Polk.
1941: .Sh AUTHORS
1942: .An Jean-Francois Brousseau
1943: .An Vincent Labrecque
1944: .An Joris Vink
1.43 jfb 1945: .An Xavier Santolaria
1.2 jfb 1946: .Sh CAVEATS
1947: This CVS implementation does not fully conform to the GNU CVS version.
1.3 jfb 1948: In some cases, this was done explicitly because GNU CVS has inconsistencies
1.2 jfb 1949: or ambiguous behaviour.
1.3 jfb 1950: Some things have also been left out or modified to enhance the overall
1951: security of the system.
1952: .Pp
1953: Among other things, support for the pserver connection mechanism has been
1954: dropped because of security issues with the authentication mechanism.