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