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