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

1.41    ! xsa         1: .\"    $OpenBSD: cvs.1,v 1.40 2005/02/03 22:29:07 xsa Exp $
1.1       jfb         2: .\"
                      3: .\" Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
1.36      xsa         4: .\" Copyright (c) 2004, 2005 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.3       jfb        32: .Nd OpenCVS Concurrent Versioning System client
1.1       jfb        33: .Sh SYNOPSIS
                     34: .Nm
1.15      jmc        35: .Op Fl flQqtv
1.1       jfb        36: .Op Fl d Ar root
                     37: .Op Fl e Ar editor
1.20      jmc        38: .Xo
                     39: .Oo Fl s
                     40: .Ar var Ns = Ns Ar val Oc
                     41: .Xc
1.15      jmc        42: .Op Fl z Ar level
1.1       jfb        43: .Ar command Op Ar ...
                     44: .Sh DESCRIPTION
                     45: The
                     46: .Nm
                     47: program acts as both client and server for the use of and administration of
                     48: a CVS source repository.
                     49: CVS is used to maintain version information on files that are kept in a
                     50: repository.
                     51: Although it is more commonly used to track changes in source code, there
                     52: are no real limitations to the type of files that you can store in a
                     53: repository.
1.35      jmc        54: For a general introduction to CVS, see
                     55: .Xr cvsintro 7 .
1.1       jfb        56: .Pp
1.7       jfb        57: .Nm
1.35      jmc        58: reads its startup configuration file,
                     59: .Pa .cvsrc ,
1.7       jfb        60: from the home directory of the user who invoked it.
                     61: This file is used to specify implicit options passed to
                     62: .Nm
                     63: or one of its commands whenever it is invoked.
1.35      jmc        64: The defaults in the configuration file can be overridden with the
                     65: .Fl f
                     66: option (see below).
1.16      jmc        67: See
                     68: .Xr cvsrc 5
                     69: for further information.
1.7       jfb        70: .Pp
1.1       jfb        71: The following options are supported:
1.15      jmc        72: .Bl -tag -width "-e editorXX"
1.1       jfb        73: .It Fl d Ar root
                     74: Use
                     75: .Ar root
                     76: as the path to the root directory of the CVS repository.
                     77: The value must specify an absolute path.
                     78: .It Fl e Ar editor
                     79: Use the program
                     80: .Ar editor
                     81: whenever editing log information.
1.8       jmc        82: This option overrides the environment variables CVSEDITOR, VISUAL, and EDITOR.
1.1       jfb        83: .It Fl f
1.7       jfb        84: Do not read the user's configuration file on startup.
1.1       jfb        85: .It Fl l
                     86: Suppress logging of history information.
                     87: .It Fl Q
                     88: Be extra quiet.
                     89: Only error messages will be displayed.
                     90: .It Fl q
                     91: Be quiet about reporting.
1.20      jmc        92: .It Fl s Ar var Ns = Ns Ar val
                     93: Set the value of the internal variable
                     94: .Ar var
                     95: to the string
                     96: .Ar val .
1.15      jmc        97: .It Fl t
                     98: Trace program execution.
1.1       jfb        99: .It Fl v
                    100: Display version information and exit.
1.15      jmc       101: .It Fl z Ar level
                    102: Specify the compression level to
                    103: .Xr gzip 1
                    104: when transferring files.
                    105: The compression level ranges from 1 to 9,
                    106: with 1 being the fastest,
                    107: and 9 providing the best level of compression.
                    108: The default is 6.
1.1       jfb       109: .El
                    110: .Sh COMMANDS
1.3       jfb       111: The following commands are supported by
                    112: .Nm .
1.7       jfb       113: .Bl -tag -width "xxxxxxxxxxxx"
1.11      jmc       114: .It Xo Ic add Op Fl m Ar msg
1.1       jfb       115: .Ar file Op ...
1.3       jfb       116: .Xc
1.7       jfb       117: .Pp
1.1       jfb       118: Before a file is known to CVS, it must be added to the repository using
                    119: this command.
                    120: Adding a file does not actually publish the contents of the
1.7       jfb       121: file, so you must
1.11      jmc       122: .Ic commit
1.7       jfb       123: the first revision in order to let other users see the file with the
1.11      jmc       124: .Ic update
1.4       jfb       125: or
1.11      jmc       126: .Ic checkout
1.4       jfb       127: commands.
1.1       jfb       128: .Pp
1.35      jmc       129: The
                    130: .Ic add
                    131: command takes the following options:
                    132: .Bl -tag -width Ds -offset 3n
                    133: .It Fl m Ar msg
                    134: Attach log message
                    135: .Ar msg .
                    136: By default, no log message is required.
                    137: .El
1.13      jmc       138: .Pp
                    139: Aliases:
                    140: .Ic ad ,
                    141: .Ic new .
                    142: .It Ic admin
                    143: Administration front-end for
                    144: .Xr rcs 1 .
                    145: .Pp
                    146: Aliases:
                    147: .Ic adm ,
                    148: .Ic rcs .
1.26      xsa       149: .It Xo Ic annotate
                    150: .Op Fl flR
                    151: .Oo Fl D Ar date \*(Ba
                    152: .Fl r Ar rev Oc
                    153: .Op Ar file ...
                    154: .Xc
                    155: .Pp
1.23      xsa       156: For each line of any files specified, show information about its
                    157: last revision.
                    158: The information given is the last revision when a modification occurred,
                    159: the author's name, and the date of the revision.
1.26      xsa       160: .Pp
                    161: The
1.35      jmc       162: .Ic annotate
                    163: command takes the following options:
                    164: .Bl -tag -width Ds -offset 3n
                    165: .It Fl D Ar date
                    166: Show the annotations as of the latest revision no later than
                    167: .Ar date .
                    168: .It Fl f
                    169: Force the use of the head revision if the specified
1.26      xsa       170: tag or date is not found.
                    171: This can be used in combination with
                    172: .Fl D
                    173: or
                    174: .Fl r
                    175: to ensure that there is some output from the
                    176: .Ic annotate
                    177: command, even if only to show Revision 1.1 of the file.
1.35      jmc       178: .It Fl l
                    179: Limit the scope of the search to the local directory
                    180: only and disable recursive behaviour.
                    181: .It Fl R
                    182: Enable recursive behaviour.
                    183: This is the default.
                    184: .It Fl r Ar rev
                    185: Show annotations as of revision
1.26      xsa       186: .Ar rev
                    187: (can be a revision number or a tag).
1.35      jmc       188: .El
1.13      jmc       189: .Pp
                    190: Aliases:
                    191: .Ic ann .
1.11      jmc       192: .It Xo Ic checkout
1.37      xsa       193: .Op Fl AcflNnPpRs
                    194: .Op Fl d Ar dir
                    195: .Op Fl j Ar rev
                    196: .Op Fl k Ar mode
                    197: .Fl D Ar date \*(Ba
                    198: .Fl r Ar rev
                    199: .Ar module ...
1.7       jfb       200: .Xc
                    201: .Pp
                    202: The
1.11      jmc       203: .Ic checkout
1.7       jfb       204: command is used to create a local copy of one or more modules present on the
                    205: target CVS repository.
1.37      xsa       206: .Pp
                    207: The
                    208: .Ic checkout
                    209: command takes the following options:
                    210: .Bl -tag -width Ds -offset 3n
                    211: .It Fl A
1.41    ! xsa       212: Reset any sticky tags, dates, or keyword substitution modes that
        !           213: have been set on the tree.
1.37      xsa       214: .It Fl c
                    215: Display the list of available modules.
                    216: .It Fl D Ar date
                    217: Check out as of the latest revision no later than
                    218: .Ar date
                    219: (is sticky).
                    220: .It Fl d Ar dir
                    221: Check out in directory
                    222: .Ar dir
                    223: instead of the directory bearing the same name as the
                    224: .Ar module .
                    225: .It Fl f
                    226: Force the use of the head revision if the specified
                    227: tag or date is not found.
                    228: .It Fl j Ar rev
                    229: Merge in changes made between current revision and
                    230: .Ar rev .
                    231: If two
                    232: .Fl j
                    233: options are specified, only merge the differences between the two
                    234: revisions of the branch.
                    235: This allows successive merges without having to resolve
                    236: already resolved conflicts again.
                    237: .It Fl k Ar mode
                    238: Specify the keyword substitution mode (is sticky).
                    239: .It Fl l
                    240: Limit the scope of the search to the local directory
                    241: only and disable recursive behaviour.
                    242: .It Fl N
                    243: If used in conjunction with the
                    244: .Fl d
                    245: option, files are placed in local directory
                    246: .Ar module ,
                    247: located in directory
                    248: .Ar dir .
                    249: .It Fl n
                    250: Do not execute programs listed in the
                    251: .Pa CVSROOT/modules
                    252: file.
                    253: .It Fl P
                    254: Prune empty directories.
                    255: .It Fl p
                    256: Check out files to standard output (avoids stickiness).
                    257: .It Fl R
                    258: Enable recursive behaviour.
                    259: This is the default.
                    260: .It Fl r Ar rev
                    261: Check out from a particular revision or branch (implies
                    262: .Fl P )
                    263: (is sticky).
                    264: .It Fl s
                    265: Like
                    266: .Fl c ,
                    267: but include module status.
                    268: .El
1.13      jmc       269: .Pp
                    270: Aliases:
                    271: .Ic co ,
                    272: .Ic get .
1.11      jmc       273: .It Xo Ic commit
1.3       jfb       274: .Op Fl flnR
1.27      xsa       275: .Oo Fl F Ar logfile \*(Ba
                    276: .Fl m Ar msg Oc
1.3       jfb       277: .Op Fl r Ar rev
1.4       jfb       278: .Op Ar file ...
1.3       jfb       279: .Xc
1.7       jfb       280: .Pp
1.1       jfb       281: The
1.11      jmc       282: .Ic commit
1.1       jfb       283: command is used to send local changes back to the server and update the
                    284: repository's information to reflect the changes.
1.27      xsa       285: .Pp
                    286: The
1.35      jmc       287: .Ic commit
                    288: command takes the following options:
                    289: .Bl -tag -width Ds -offset 3n
                    290: .It Fl F Ar logfile
                    291: Specify a
1.27      xsa       292: .Ar file
1.35      jmc       293: which contains the log message.
                    294: .It Fl f
                    295: Force a file to be committed, even though it is unchanged.
                    296: .It Fl l
                    297: Limit the scope of the search to the local directory
                    298: only and disable recursive behaviour.
                    299: .It Fl m Ar msg
                    300: Specify a log message on the command line (suppresses the editor invocation).
                    301: .It Fl n
                    302: Do not execute programs listed in the
                    303: .Pa CVSROOT/modules
                    304: file.
                    305: .It Fl R
                    306: Enable recursive behaviour.
                    307: This is the default.
                    308: .It Fl r Ar rev
                    309: Commit to a particular symbolic or numerical revision.
                    310: .El
1.13      jmc       311: .Pp
                    312: Aliases:
                    313: .Ic ci ,
                    314: .Ic com .
1.24      jfb       315: .It Xo Ic diff Op Fl cilNpu
1.3       jfb       316: .Op Fl D Ar date
                    317: .Op Fl r Ar rev
1.4       jfb       318: .Op Ar file ...
1.3       jfb       319: .Xc
1.7       jfb       320: .Pp
1.3       jfb       321: The
1.11      jmc       322: .Ic diff
1.3       jfb       323: command is very similar to the
                    324: .Xr diff 1
1.5       jfb       325: program, except that the differential comparisons that it generates are
1.3       jfb       326: between local or remote revisions of files stored in the CVS repository.
1.13      jmc       327: .Pp
                    328: Aliases:
                    329: .Ic di ,
                    330: .Ic dif .
1.30      xsa       331: .It Xo Ic edit Op Fl lR
                    332: .Op Fl a Ar action
                    333: .Op Ar file ...
                    334: .Xc
                    335: .Pp
                    336: The
                    337: .Ic edit
1.35      jmc       338: command is used to make a file that is being watched
                    339: (and therefore read-only)
1.30      xsa       340: readable and writable and to inform others that you are planning to edit it.
                    341: Notifications terminate when the
                    342: .Ic commit
                    343: command is issued.
                    344: Editing rights on the file can be given up using the
                    345: .Ic unedit
1.35      jmc       346: command, which terminates the temporary notifications.
1.30      xsa       347: .Pp
                    348: The
1.35      jmc       349: .Ic edit
                    350: command takes the following options:
                    351: .Bl -tag -width Ds -offset 3n
                    352: .It Fl a Ar action
                    353: Specify the temporary notification wanted:
                    354: .Pp
                    355: .Bl -tag -width "commitXX" -compact
1.30      xsa       356: .It Cm commit
1.35      jmc       357: Another user has committed changes to the file.
1.30      xsa       358: .It Cm edit
                    359: Another user has issued the
                    360: .Ic edit
1.35      jmc       361: command on the file.
1.30      xsa       362: .It Cm unedit
                    363: Another user has issued the
                    364: .Ic unedit
1.35      jmc       365: command on the file.
1.30      xsa       366: .It Cm all
                    367: All of the above.
                    368: .It Cm none
                    369: None of the above.
                    370: .El
                    371: .Pp
                    372: The
                    373: .Fl a
                    374: flag may appear more than once, or not at all.
                    375: If omitted, the action defaults to
1.31      jmc       376: .Cm all .
1.35      jmc       377: .It Fl l
                    378: Limit the scope of the search to the local directory
                    379: only and disable recursive behaviour.
                    380: .It Fl R
                    381: Enable recursive behaviour.
                    382: This is the default.
                    383: .El
1.33      xsa       384: .It Xo Ic editors
                    385: .Op Fl lR
1.34      xsa       386: .Op Ar file ...
1.33      xsa       387: .Xc
                    388: .Pp
                    389: The
                    390: .Ic editors
                    391: command lists the users with edition rights on a file.
                    392: For that, pseudo-lock mode must be enabled (see the
                    393: .Ic watch
                    394: command).
                    395: The e-mail address of the user editing the file, the timestamp
                    396: when the edition first started, the host from where the edition
                    397: has been requested and the path to the edited file are listed.
                    398: .Pp
                    399: The
1.35      jmc       400: .Ic editors
                    401: command takes the following options:
                    402: .Bl -tag -width Ds -offset 3n
                    403: .It Fl l
                    404: Limit the scope of the search to the local directory
                    405: only and disable recursive behaviour.
                    406: .It Fl R
                    407: Enable recursive behaviour.
                    408: This is the default.
                    409: .El
1.36      xsa       410: .It Xo Ic export
                    411: .Op Fl flNnR
                    412: .Op Fl d Ar dir
                    413: .Op Fl k Ar mode
                    414: .Fl D Ar date \*(Ba
                    415: .Fl r Ar rev
                    416: .Ar module ...
                    417: .Xc
                    418: .Pp
                    419: The
                    420: .Ic export
                    421: command extracts a copy of
                    422: .Ar module
                    423: without including the directories used for management by
                    424: .Nm .
                    425: This eases production of a software release.
                    426: A date or a revision must be specified for the command to be valid,
                    427: which ensures that later extractions can be reproduced with the same
                    428: options as the release.
                    429: .Pp
                    430: The checked out module's files will be placed in a directory
                    431: bearing the same name as the checked out module, by default.
                    432: .Pp
                    433: The
                    434: .Ic export
                    435: command takes the following options:
                    436: .Bl -tag -width Ds -offset 3n
                    437: .It Fl D Ar date
                    438: Export as of the latest revision no later than
                    439: .Ar date .
                    440: .It Fl d Ar dir
                    441: Export in directory
                    442: .Ar dir
                    443: instead of the directory bearing the same name as the
                    444: .Ar module .
                    445: .It Fl f
                    446: Force the use of the head revision if the specified
                    447: tag or date is not found.
                    448: This can be used in combination with
                    449: .Fl D
                    450: or
                    451: .Fl r
                    452: to ensure that the
                    453: .Ic export
                    454: command is valid.
                    455: .It Fl k Ar mode
                    456: Specify the keyword substitution mode: the
                    457: .Fl k Ar v
                    458: option is often used to avoid substitution of keywords during
                    459: a release cycle.
                    460: However, be aware that it does not handle an export containing
                    461: binary files correctly.
                    462: .It Fl l
                    463: Limit the scope of the search to the local directory
                    464: only and disable recursive behaviour.
                    465: .It Fl N
                    466: If used in conjunction with the
                    467: .Fl d
                    468: option, files are placed in local directory
                    469: .Ar module ,
                    470: located in directory
                    471: .Ar dir .
                    472: .It Fl n
                    473: Do not execute programs listed in the
                    474: .Pa CVSROOT/modules
                    475: file.
                    476: .It Fl R
                    477: Enable recursive behaviour.
                    478: This is the default.
                    479: .It Fl r Ar rev
                    480: Export from a particular symbolic or numerical revision.
                    481: .El
1.13      jmc       482: .Pp
                    483: Aliases:
                    484: .Ic ex ,
                    485: .Ic exp .
                    486: .It Ic history
                    487: Show repository access history.
                    488: .Pp
                    489: Aliases:
                    490: .Ic hi ,
                    491: .Ic his .
1.22      jmc       492: .It Xo Ic import
                    493: .Op Fl b Ar branch
                    494: .Op Fl m Ar msg
                    495: .Ar repository
                    496: .Ar vendortag
                    497: .Ar releasetag
                    498: .Xc
                    499: .Pp
1.13      jmc       500: Import sources into CVS using vendor branches.
1.22      jmc       501: .Pp
                    502: At least three arguments are required:
                    503: .Ar repository
                    504: specifies the location of the sources to be imported;
                    505: .Ar vendortag
                    506: is a tag for the entire branch;
                    507: .Ar releasetag
                    508: is used to identify the files you created with
1.35      jmc       509: .Ic cvs import .
                    510: .Pp
                    511: The
                    512: .Ic import
                    513: command takes the following options:
                    514: .Bl -tag -width Ds -offset 3n
                    515: .It Fl b Ar branch
                    516: Specify the first-level branch number.
                    517: .It Fl m Ar msg
                    518: Specify the log message to send.
                    519: .El
1.13      jmc       520: .Pp
                    521: Aliases:
                    522: .Ic im ,
                    523: .Ic imp .
                    524: .It Ic init
                    525: Create a CVS repository if it doesn't exist.
                    526: .It Ic kserver
                    527: Start a Kerberos authentication server.
                    528: .It Ic log
                    529: Print out history information for files.
                    530: .Pp
                    531: Aliases:
                    532: .Ic lo .
                    533: .It Ic login
1.35      jmc       534: Prompt for a password for an authenticating server.
1.13      jmc       535: .It Ic logout
1.35      jmc       536: Remove an entry in
                    537: .Pa .cvspass
                    538: for a remote repository.
1.13      jmc       539: .It Ic rdiff
                    540: Create
                    541: .Xr patch 1
                    542: format diffs between releases.
1.39      xsa       543: .It Xo Ic release
                    544: .Op Fl d
                    545: .Ar dir ...
                    546: .Xc
                    547: The
                    548: .Ic release
                    549: command indicates to
                    550: .Nm
                    551: that the working copy of a module is no longer in use and checks
                    552: that non archived modifications in the base repository do exist.
                    553: This command is not mandatory.
                    554: Local directories could always be removed without using it, but
                    555: in this case the handling of history information will no longer be
                    556: correct (see the
                    557: .Ic history
                    558: command).
                    559: .Pp
                    560: The
                    561: .Ic release
                    562: command takes the following options:
                    563: .Bl -tag -width Ds -offset 3n
                    564: .It Fl d Ar dir
                    565: Remove the directory
                    566: .Ar dir .
                    567: Be aware that this option silently removes any directories that have
                    568: been added to the local working copy without using the
                    569: .Ic add
                    570: command.
                    571: .El
                    572: .Pp
                    573: For each file not being synchronized with the base repository,
                    574: a single letter prefix is given to specify the state of the file.
                    575: The possible prefixes are as follows:
                    576: .Bl -tag -width "XXX"
                    577: .It \&?
                    578: The file is unknown to
                    579: .Nm
                    580: and is not in the list of files to ignore.
                    581: Any new directories which have not been added with the
                    582: .Ic add
                    583: command are silently ignored as well as their content.
                    584: .It A
                    585: The file has been added with the
                    586: .Ic add
                    587: command, but has not been committed to the repository with the
                    588: .Ic commit
                    589: command.
                    590: .It M
                    591: The file has been locally modified; a more recent version might
                    592: exist in the base repository.
                    593: .It R
                    594: The file has been removed with the
                    595: .Ic remove
                    596: command, but has not been committed to the repository with the
                    597: .Ic commit
                    598: command.
                    599: .It U
                    600: A more recent version of the file does exist but it is not
                    601: locally up to date.
                    602: .El
1.40      xsa       603: .Pp
                    604: Aliases:
                    605: .Ic re ,
                    606: .Ic rel .
1.18      xsa       607: .It Xo Ic remove
                    608: .Op Fl flR
                    609: .Op Ar file ...
                    610: .Xc
                    611: The
                    612: .Ic remove
                    613: command is used to inform
                    614: .Nm
                    615: that
                    616: .Ar file
                    617: is scheduled to be removed from the repository.
                    618: Files are not actually removed from the repository until the
                    619: .Ic commit
                    620: command has been run subsequently.
1.28      xsa       621: .Pp
                    622: The
1.35      jmc       623: .Ic remove
                    624: command takes the following options:
                    625: .Bl -tag -width Ds -offset 3n
                    626: .It Fl f
                    627: Force local file removal.
1.28      xsa       628: If this flag is not used, the file must be locally removed beforehand for
                    629: the command to be valid.
1.35      jmc       630: .It Fl l
                    631: Limit the scope of the search to the local directory
                    632: only and disable recursive behaviour.
                    633: .It Fl R
                    634: Enable recursive behaviour.
                    635: This is the default.
                    636: .El
1.18      xsa       637: .Pp
                    638: Aliases:
1.19      xsa       639: .Ic rm ,
                    640: .Ic delete .
1.13      jmc       641: .It Ic rlog
                    642: Print out history information for a module.
                    643: .It Ic rtag
                    644: Add a symbolic link to a module.
                    645: .It Ic server
                    646: Server mode.
1.25      xsa       647: .It Xo Ic status
                    648: .Op Fl lRv
                    649: .Op Ar file ...
                    650: .Xc
                    651: The
                    652: .Ic status
                    653: command is used to display the state of checked out files.
                    654: .Pp
                    655: The
1.35      jmc       656: .Ic status
                    657: command takes the following options:
                    658: .Bl -tag -width Ds -offset 3n
                    659: .It Fl l
                    660: Limit the scope of the search to the local directory
                    661: only and disable recursive behaviour.
                    662: .It Fl R
                    663: Enable recursive behaviour.
                    664: This is the default.
                    665: .It Fl v
                    666: Display symbolic tags for
                    667: .Ar file .
1.25      xsa       668: .Pp
1.35      jmc       669: The state may be one of the following:
                    670: .Bl -tag -width "Locally modified"
1.25      xsa       671: .It Cm Locally Added
                    672: The file has been added with the
                    673: .Ic add
                    674: command, but has not been committed to the repository with the
                    675: .Ic commit
                    676: command.
                    677: .It Cm Locally Modified
1.35      jmc       678: The file is up to date, but has been locally modified.
1.25      xsa       679: .It Cm Locally Removed
                    680: The file has been removed with the
                    681: .Ic remove
                    682: command, but has not been committed to the repository with the
                    683: .Ic commit
                    684: command.
                    685: .It Cm Needs Checkout
                    686: The file has not been modified; a new version is available.
                    687: .It Cm Needs Merge
                    688: The file has been modified and a newer version is available.
                    689: .It Cm Needs Patch
                    690: Same as
                    691: .Ic Needs Checkout
                    692: but, in client-server mode, only the differences are sent to save
                    693: network resources.
                    694: .It Cm Unresolved Conflict
                    695: A merge has been done, but unresolved conflicts still remain.
                    696: .It Cm Up-to-date
                    697: The file is up to date.
                    698: .El
1.35      jmc       699: .El
1.13      jmc       700: .Pp
                    701: Aliases:
                    702: .Ic st ,
                    703: .Ic stat .
1.21      jmc       704: .It Xo Ic tag
1.35      jmc       705: .Op Fl bdlR
1.21      jmc       706: .Op Fl r Ar old_tag
                    707: .Op Ar symbolic_tag
                    708: .Op Ar file ...
                    709: .Xc
                    710: .Pp
                    711: Add a symbolic tag to a checked out version of
                    712: .Ar file .
                    713: .Pp
                    714: The
1.35      jmc       715: .Ic tag
                    716: command takes the following options:
                    717: .Bl -tag -width Ds -offset 3n
                    718: .It Fl b
                    719: Specify a branch tag.
                    720: .It Fl d
                    721: Delete tag.
                    722: .It Fl l
                    723: Limit the scope of the search to the local directory
                    724: only and disable recursive behaviour.
                    725: .It Fl R
                    726: Enable recursive behaviour.
                    727: This is the default.
                    728: .It Fl r Ar old_tag
1.21      jmc       729: .Nm
                    730: will only tag the files with
                    731: .Ar symbolic_tag
                    732: if they are already tagged with
                    733: .Ar old_tag .
                    734: When done, it will remove the old tag
                    735: leaving only the new tag behind on exactly the same files.
1.35      jmc       736: .El
1.13      jmc       737: .Pp
                    738: Aliases:
                    739: .Ic ta ,
                    740: .Ic freeze .
1.30      xsa       741: .It Xo Ic unedit Op Fl lR
                    742: .Op Ar file ...
                    743: .Xc
                    744: .Pp
                    745: The
                    746: .Ic unedit
                    747: command is used to give up an edition on a file and thus cancel
                    748: the wanted temporary notifications.
                    749: If the file has been modified since the
1.13      jmc       750: .Ic edit
1.30      xsa       751: command has been issued,
                    752: .Nm
                    753: will ask if you want to go back to the previous version, and lose the
                    754: modifications done on the file, or stay in edition mode on it.
                    755: .Pp
                    756: The
1.35      jmc       757: .Ic unedit
                    758: command takes the following options:
                    759: .Bl -tag -width Ds -offset 3n
                    760: .It Fl l
                    761: Limit the scope of the search to the local directory
                    762: only and disable recursive behaviour.
                    763: .It Fl R
                    764: Enable recursive behaviour.
                    765: This is the default.
                    766: .El
1.11      jmc       767: .It Xo Ic update
1.38      xsa       768: .Op Fl AdflPpR
                    769: .Oo Fl D Ar date \*(Ba
                    770: .Fl r Ar rev Oc
                    771: .Op Fl I Ar ign
                    772: .Op Fl j Ar rev
                    773: .Op Fl k Ar mode
                    774: .Op Fl W Ar spec
1.4       jfb       775: .Op Ar file ...
1.3       jfb       776: .Xc
1.7       jfb       777: .Pp
1.3       jfb       778: The
1.11      jmc       779: .Ic update
1.17      david     780: command is used to merge any of the changes that have occurred on the remote
1.3       jfb       781: repository into the local one where the command was run.
                    782: .Pp
                    783: The
1.35      jmc       784: .Ic update
                    785: command takes the following options:
                    786: .Bl -tag -width Ds -offset 3n
                    787: .It Fl A
1.41    ! xsa       788: Reset any sticky tags, dates, or keyword substitution modes that
        !           789: have been set on the tree.
1.38      xsa       790: .It Fl D Ar date
                    791: Update as of the latest revision no later than
                    792: .Ar date
                    793: (is sticky).
                    794: .It Fl d
                    795: Create any new directories.
                    796: Without this option,
                    797: .Nm
                    798: does not create any new files sitting in these new directories
                    799: added in the base repository since the last update of the working
                    800: copy, or since the last update with the
                    801: .Fl d
                    802: option.
                    803: .It Fl f
                    804: Force the use of the head revision if the specified
                    805: tag or date is not found.
                    806: .It Fl I Ar ign
                    807: Ignore files specified by
                    808: .Ar ign .
                    809: This option can be used several times on the command line.
                    810: To see all files, use the
                    811: .Fl I Ar !\&
                    812: specification.
                    813: .It Fl j Ar rev
                    814: Merge in changes made between current revision and
                    815: .Ar rev .
                    816: If two
                    817: .Fl j
                    818: options are specified, only merge the differences between the two
                    819: revisions of the branch.
                    820: This allows successive merges without having to resolve
                    821: already resolved conflicts again.
                    822: .It Fl k Ar mode
                    823: Specify the keyword substitution mode (is sticky).
1.35      jmc       824: .It Fl l
                    825: Limit the scope of the search to the local directory
                    826: only and disable recursive behaviour.
                    827: .It Fl P
                    828: Prune any directories that have become empty as a result of the update.
1.38      xsa       829: .It Fl p
                    830: Send the result of the update to standard output (avoids stickiness).
1.35      jmc       831: .It Fl R
                    832: Enable recursive behaviour.
                    833: This is the default.
1.38      xsa       834: .It Fl r Ar rev
                    835: Update from a particular revision or branch (is sticky).
                    836: .It Fl W Ar spec
                    837: Wrappers specification line.
1.35      jmc       838: .El
1.38      xsa       839: .Pp
                    840: By default, the
                    841: .Ic update
                    842: command does not create new directories; the
                    843: .Fl d
                    844: option must be used for that.
1.29      xsa       845: .Pp
                    846: For each file updated, a single letter prefix is given to
                    847: specify the state of the file.
                    848: The possible prefixes are as follows:
                    849: .Bl -tag -width "XXX"
                    850: .It \&?
                    851: The file is unknown to
                    852: .Nm .
                    853: .It A
                    854: The file has been added with the
                    855: .Ic add
                    856: command, but has not been committed to the repository with the
                    857: .Ic commit
                    858: command.
                    859: .It C
                    860: A merge, with a more recent version of the file, has been done,
                    861: but unresolved conflicts still remain.
                    862: .It M
                    863: The file has been locally modified; if a more recent version
                    864: is available, the merge has been done without conflict.
                    865: .It P
                    866: The same as
                    867: .Sq U ,
                    868: but, in client-server mode, only differences are sent to save network
                    869: resources.
                    870: .It R
                    871: The file has been removed with the
                    872: .Ic remove
                    873: command, but has not been committed to the repository with the
                    874: .Ic commit
                    875: command.
                    876: .It U
                    877: The file is up to date.
                    878: .El
1.13      jmc       879: .Pp
                    880: Aliases:
                    881: .Ic up ,
                    882: .Ic upd .
1.11      jmc       883: .It Ic version
1.3       jfb       884: Causes
                    885: .Nm
                    886: to print its version information.
1.14      jfb       887: If this command is issued within a local copy of a remote repository or
                    888: if either the
                    889: .Ev CVSROOT
                    890: environment variable or the
                    891: .Fl d
                    892: flag specify a remote repository,
1.3       jfb       893: .Nm
                    894: will also connect to the server and ask it to print its version information.
1.13      jmc       895: .Pp
                    896: Aliases:
                    897: .Ic ve ,
                    898: .Ic ver .
1.32      xsa       899: .It Xo Ic watch
                    900: .Ar on | off | add | remove
                    901: .Op Fl lR
                    902: .Op Fl a Ar action
                    903: .Op Ar file ...
                    904: .Xc
                    905: .Pp
                    906: The
                    907: .Ic watch
                    908: command switches a file from normal mode to
                    909: pseudo-lock mode as well as handling the notifications associated
                    910: with it.
                    911: Pseudo-lock mode means knowing who is editing a file:
                    912: for that,
                    913: .Nm
                    914: extracts the file in read-only mode.
                    915: Users must use the
                    916: .Ic edit
                    917: command to get the editing rights on the file.
                    918: .Pp
                    919: One of the following arguments to the
                    920: .Ic watch
                    921: command is mandatory: on, off, add, or remove.
                    922: .Ar on
                    923: switches the file into pseudo-lock mode;
                    924: .Ar off
                    925: switches it back to normal mode;
                    926: .Ar add
                    927: adds notifications for specific actions on the file;
                    928: .Ar remove
                    929: removes those notifications.
                    930: .Pp
                    931: The notifications are permanent.
                    932: They remain in place until the
                    933: .Ic watch remove
                    934: command is issued while the temporary notifications are
                    935: made available with the
                    936: .Ic edit
                    937: command.
                    938: .Pp
                    939: The
1.35      jmc       940: .Ic watch
                    941: command takes the following options:
                    942: .Bl -tag -width Ds -offset 3n
                    943: .It Fl a Ar action
                    944: Specify the permanent notification wanted for
1.32      xsa       945: .Ar add | remove :
                    946: .Pp
                    947: .Bl -tag -width "commitXX" -compact
                    948: .It Cm commit
1.35      jmc       949: Another user has committed changes to the file.
1.32      xsa       950: .It Cm edit
1.35      jmc       951: Another user is editing the file.
1.32      xsa       952: .It Cm unedit
1.35      jmc       953: Another user has finished editing the file.
1.32      xsa       954: .It Cm all
                    955: All of the above.
                    956: .It Cm none
                    957: No notification.
                    958: .El
                    959: .Pp
1.35      jmc       960: If no specification is requested using the
1.32      xsa       961: .Ar add
                    962: or
                    963: .Ar remove
                    964: arguments, it implies the
                    965: .Fl a Ar all
                    966: option.
1.35      jmc       967: .It Fl l
                    968: Limit the scope of the search to the local directory
                    969: only and disable recursive behaviour.
                    970: .It Fl R
                    971: Enable recursive behaviour.
                    972: This is the default.
                    973: .El
1.32      xsa       974: .It Xo Ic watchers
                    975: .Op Fl lR
                    976: .Op Ar file ...
                    977: .Xc
                    978: .Pp
                    979: The
                    980: .Ic watchers
                    981: command lists the users who asked for notifications as well as the
                    982: notifications details.
                    983: The possible notifications are as follows:
                    984: .Bl -tag -width "tcommitXX"
                    985: .It Cm commit
                    986: Permanent watch of a commit of a new version of a file.
                    987: .It Cm edit
                    988: Permanent watch of the start of file edition.
                    989: .It Cm tcommit
                    990: Temporary watch of a commit of new version of a file.
                    991: .It Cm tedit
                    992: Temporary watch of the start of file edition.
                    993: .It Cm tunedit
                    994: Temporary watch of the end of file edition.
                    995: .It Cm unedit
                    996: Permanent watch of the end of file edition.
                    997: .El
                    998: .Pp
                    999: The temporary watches are set using the
                   1000: .Ic edit
                   1001: command, until the
                   1002: .Ic commit
                   1003: or
                   1004: .Ic unedit
1.35      jmc      1005: command is issued on a file.
                   1006: .Pp
                   1007: The
                   1008: .Ic watchers
                   1009: command takes the following options:
                   1010: .Bl -tag -width Ds -offset 3n
                   1011: .It Fl l
                   1012: Limit the scope of the search to the local directory
                   1013: only and disable recursive behaviour.
                   1014: .It Fl R
                   1015: Enable recursive behaviour.
                   1016: This is the default.
                   1017: .El
1.1       jfb      1018: .El
                   1019: .Sh ENVIRONMENT
                   1020: .Bl -tag -width CVS_CLIENT_LOG
1.8       jmc      1021: .It Ev CVS_CLIENT_LOG
                   1022: This variable enables logging of all communications between the client and
                   1023: server when running in non-local mode.
                   1024: If set, this environment variable must contain a base path from which two
                   1025: paths will be generated by appending ".in" to the value for the server's
                   1026: input and ".out" for the server's output.
1.1       jfb      1027: .It Ev CVS_RSH
                   1028: Name of the program to use when connecting to the server through a remote
                   1029: shell.
                   1030: The default is to use the
                   1031: .Xr ssh 1
                   1032: program.
                   1033: .It Ev CVS_SERVER
                   1034: If set, gives the name of the program to invoke as a
                   1035: .Nm
                   1036: server when using remote shell.
                   1037: The default is to use `cvs'.
                   1038: .It Ev CVSEDITOR
                   1039: Name of the editor to use when editing commit messages.
1.8       jmc      1040: Checked before
                   1041: .Ev EDITOR
                   1042: and
                   1043: .Ev VISUAL .
                   1044: .It Ev CVSROOT
                   1045: When set, this variable should contain the string pointing to the root
                   1046: directory of the CVS repository.
                   1047: The contents of this variable are ignored when the
                   1048: .Fl d
                   1049: option is given or if `Root' files exist in the checked-out copy.
1.1       jfb      1050: .It Ev EDITOR
1.9       jmc      1051: Name of the editor to use when editing commit messages.
                   1052: This is traditionally a line-oriented editor,
                   1053: such as
                   1054: .Xr ex 1 .
1.1       jfb      1055: .It Ev VISUAL
1.9       jmc      1056: Name of the editor to use when editing commit messages.
                   1057: This is traditionally a screen-oriented editor,
                   1058: such as
                   1059: .Xr vi 1 .
1.8       jmc      1060: .El
                   1061: .Sh FILES
                   1062: .Bl -tag -width Ds
                   1063: .It Pa $HOME/.cvsrc
                   1064: File containing a list of implicit options to pass to certain commands.
                   1065: This file is read on startup unless the
                   1066: .Fl f
                   1067: option is specified.
                   1068: .It Pa $CVSROOT/CVSROOT
                   1069: Directory containing repository administrative files.
                   1070: .It Pa $CVSROOT/CVSROOT/loginfo
                   1071: File containing associations between modules and handlers for
                   1072: post-commit logging.
1.1       jfb      1073: .El
                   1074: .Sh SEE ALSO
                   1075: .Xr diff 1 ,
1.15      jmc      1076: .Xr gzip 1 ,
1.1       jfb      1077: .Xr patch 1 ,
1.8       jmc      1078: .Xr rcs 1 ,
1.16      jmc      1079: .Xr cvsrc 5 ,
1.35      jmc      1080: .Xr cvsintro 7 ,
1.1       jfb      1081: .Xr cvsd 8
1.8       jmc      1082: .Sh HISTORY
                   1083: The OpenCVS project is a BSD-licensed rewrite of the original
                   1084: Concurrent Versioning System written by Jean-Francois Brousseau.
                   1085: The original CVS code was written in large parts by Dick Grune,
                   1086: Brian Berliner and Jeff Polk.
                   1087: .Sh AUTHORS
                   1088: .An Jean-Francois Brousseau
                   1089: .An Vincent Labrecque
                   1090: .An Joris Vink
1.2       jfb      1091: .Sh CAVEATS
                   1092: This CVS implementation does not fully conform to the GNU CVS version.
1.3       jfb      1093: In some cases, this was done explicitly because GNU CVS has inconsistencies
1.2       jfb      1094: or ambiguous behaviour.
1.3       jfb      1095: Some things have also been left out or modified to enhance the overall
                   1096: security of the system.
                   1097: .Pp
                   1098: Among other things, support for the pserver connection mechanism has been
                   1099: dropped because of security issues with the authentication mechanism.