[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.112

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