[BACK]Return to cvs.1 CVS log [TXT][DIR] Up to [local] / src / usr.bin / cvs

Annotation of src/usr.bin/cvs/cvs.1, Revision 1.124

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