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

1.52    ! xsa         1: .\"    $OpenBSD: cvs.1,v 1.51 2005/02/16 13:33:02 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.45      xsa       109: .El
                    110: .Sh KEYWORD SUBSTITUTION
                    111: As long as you edit source files inside a working directory you
                    112: can always find out the state of your files via the
                    113: .Ic status
                    114: or
                    115: .Ic log
                    116: commands, but as soon as files get exported from
                    117: your local working copy, it becomes harder to identify which
                    118: revisions they are.
                    119: .Pp
                    120: .Nm
                    121: can use a mechanism known as
                    122: .Sq keyword substitution
                    123: to help identify the files.
                    124: Embedded strings of the form $keyword$ and $keyword:...$ in a file
                    125: are replaced with strings of the form $keyword: value$ whenever you
                    126: obtain a new revision of the file.
                    127: The possible keywords are as follows:
                    128: .Bl -tag -width "RevisionXXX"
1.48      xsa       129: .It $\&Author$
1.45      xsa       130: The name of the user who checked in the revision.
1.48      xsa       131: .It $\&Date$
1.45      xsa       132: The date and hour (UTC) the revision was checked in.
1.48      xsa       133: .It $\&Header$
1.45      xsa       134: Standard header containing the full pathname of the RCS
                    135: file, the revision number, the date (UTC), the author and the state.
1.48      xsa       136: .It $\&Id$
                    137: The same content as $\&Header$ but without the path
1.45      xsa       138: of the RCS file.
1.48      xsa       139: .It $\&Log$
1.45      xsa       140: The log message supplied during commit, preceded by a header
                    141: containing the RCS filename, the revision number, the
                    142: author, and the date (UTC).
1.48      xsa       143: .It $\&Name$
1.45      xsa       144: The tag name used to check out the file.
1.48      xsa       145: .It $\&RCSfile$
1.45      xsa       146: The name of the RCS file, but without a path.
1.48      xsa       147: .It $\&Revision$
1.45      xsa       148: The revision number assigned to the revision.
1.48      xsa       149: .It $\&Source$
1.45      xsa       150: The full pathname of the RCS file.
1.48      xsa       151: .It $\&State$
1.45      xsa       152: The state assigned to the revision.
                    153: .El
                    154: .Pp
                    155: Keyword substitution has its disadvantages: sometimes the
1.48      xsa       156: literal text string $\&Author$ is wanted inside a file without
1.45      xsa       157: .Nm
                    158: interpreting it as a keyword and expanding it into something like
1.48      xsa       159: $\&Author$.
1.45      xsa       160: The
                    161: .Fl k Ar o
1.48      xsa       162: option can be used to turn off keyword substitution entirely though.
1.45      xsa       163: There is unfortunately no way to selectively turn off keyword substitution.
                    164: .Pp
                    165: Each file and working directory copy of a file have a stored
                    166: default substitution mode.
                    167: Substitution modes on files are set by the
                    168: .Fl k Ar mode
                    169: option to the
                    170: .Ic add
                    171: and
                    172: .Ic admin
                    173: commands or by the
                    174: .Fl k Ar mode
                    175: or
                    176: .Fl A
                    177: options to the
                    178: .Ic checkout
                    179: or
                    180: .Ic update
                    181: commands.
                    182: .Pp
                    183: The possible substitution modes are as follows:
                    184: .Bl -tag -width Ds -offset 3n
                    185: .It Fl k Ar b
                    186: Like
                    187: .Fl k Ar o ,
                    188: but also avoids the conversion of line endings.
                    189: This option is used to handle binary files.
                    190: .It Fl k Ar k
                    191: Does not substitute the keywords.
                    192: Useful with the
                    193: .Ic diff
                    194: command to avoid displaying the differences between keyword substitutions.
                    195: .It Fl k Ar kv
                    196: The default behaviour.
1.48      xsa       197: Keywords are normally substituted i.e. $\&Revision$ becomes
                    198: $\&Revision: 1.1 $.
1.45      xsa       199: .It Fl k Ar kvl
                    200: Like
                    201: .Fl k Ar kv ,
                    202: except that the locker's name is displayed along with the version
                    203: if the given revision is currently locked.
                    204: This option is normally not useful as
                    205: .Nm
                    206: does not use file locking by default.
                    207: .It Fl k Ar o
                    208: No substitutions are done.
                    209: This option is often used with the
                    210: .Ic import
                    211: command to guarantee that files that already contain external keywords
                    212: do not get modified.
                    213: .It Fl k Ar v
                    214: Substitue the value of keywords instead of keywords themselves
1.48      xsa       215: e.g. instead of $\&Revision$, only insert 1.1 and not $\&Revision: 1.1 $.
1.45      xsa       216: This option must be used with care, as it can only be used once.
                    217: It is often used with the
                    218: .Ic export
                    219: command to freeze the values before releasing software.
1.1       jfb       220: .El
                    221: .Sh COMMANDS
1.3       jfb       222: The following commands are supported by
1.44      jmc       223: .Nm :
1.7       jfb       224: .Bl -tag -width "xxxxxxxxxxxx"
1.42      xsa       225: .It Xo Ic add
                    226: .Op Fl k Ar mode
                    227: .Op Fl m Ar msg
                    228: .Ar file ...
1.3       jfb       229: .Xc
1.7       jfb       230: .Pp
1.42      xsa       231: Before a file is known to
                    232: .Nm ,
                    233: it must be added to the repository using this command.
1.1       jfb       234: Adding a file does not actually publish the contents of the
1.42      xsa       235: file: the
1.11      jmc       236: .Ic commit
1.42      xsa       237: command must also be used to publish it into the repository,
                    238: and thus let others access the file.
                    239: .Pp
                    240: Note: since directories have no versioning system, it is sufficient
                    241: to add them with the
                    242: .Ic add
                    243: command alone; the
                    244: .Ic commit
                    245: command is not necessary.
1.1       jfb       246: .Pp
1.35      jmc       247: The
                    248: .Ic add
                    249: command takes the following options:
                    250: .Bl -tag -width Ds -offset 3n
1.42      xsa       251: .It Fl k Ar mode
                    252: Specify the keyword substitution mode.
1.35      jmc       253: .It Fl m Ar msg
                    254: Attach log message
                    255: .Ar msg .
                    256: By default, no log message is required.
                    257: .El
1.13      jmc       258: .Pp
                    259: Aliases:
                    260: .Ic ad ,
                    261: .Ic new .
                    262: .It Ic admin
                    263: Administration front-end for
                    264: .Xr rcs 1 .
                    265: .Pp
                    266: Aliases:
                    267: .Ic adm ,
                    268: .Ic rcs .
1.26      xsa       269: .It Xo Ic annotate
                    270: .Op Fl flR
                    271: .Oo Fl D Ar date \*(Ba
                    272: .Fl r Ar rev Oc
                    273: .Op Ar file ...
                    274: .Xc
                    275: .Pp
1.23      xsa       276: For each line of any files specified, show information about its
                    277: last revision.
                    278: The information given is the last revision when a modification occurred,
                    279: the author's name, and the date of the revision.
1.26      xsa       280: .Pp
                    281: The
1.35      jmc       282: .Ic annotate
                    283: command takes the following options:
                    284: .Bl -tag -width Ds -offset 3n
                    285: .It Fl D Ar date
                    286: Show the annotations as of the latest revision no later than
                    287: .Ar date .
                    288: .It Fl f
                    289: Force the use of the head revision if the specified
1.26      xsa       290: tag or date is not found.
                    291: This can be used in combination with
                    292: .Fl D
                    293: or
                    294: .Fl r
                    295: to ensure that there is some output from the
                    296: .Ic annotate
                    297: command, even if only to show Revision 1.1 of the file.
1.35      jmc       298: .It Fl l
                    299: Limit the scope of the search to the local directory
                    300: only and disable recursive behaviour.
                    301: .It Fl R
                    302: Enable recursive behaviour.
                    303: This is the default.
                    304: .It Fl r Ar rev
                    305: Show annotations as of revision
1.26      xsa       306: .Ar rev
                    307: (can be a revision number or a tag).
1.35      jmc       308: .El
1.13      jmc       309: .Pp
                    310: Aliases:
                    311: .Ic ann .
1.11      jmc       312: .It Xo Ic checkout
1.37      xsa       313: .Op Fl AcflNnPpRs
                    314: .Op Fl d Ar dir
                    315: .Op Fl j Ar rev
                    316: .Op Fl k Ar mode
                    317: .Fl D Ar date \*(Ba
                    318: .Fl r Ar rev
                    319: .Ar module ...
1.7       jfb       320: .Xc
                    321: .Pp
                    322: The
1.11      jmc       323: .Ic checkout
1.7       jfb       324: command is used to create a local copy of one or more modules present on the
                    325: target CVS repository.
1.37      xsa       326: .Pp
                    327: The
                    328: .Ic checkout
                    329: command takes the following options:
                    330: .Bl -tag -width Ds -offset 3n
                    331: .It Fl A
1.41      xsa       332: Reset any sticky tags, dates, or keyword substitution modes that
                    333: have been set on the tree.
1.37      xsa       334: .It Fl c
                    335: Display the list of available modules.
                    336: .It Fl D Ar date
                    337: Check out as of the latest revision no later than
                    338: .Ar date
                    339: (is sticky).
                    340: .It Fl d Ar dir
                    341: Check out in directory
                    342: .Ar dir
                    343: instead of the directory bearing the same name as the
                    344: .Ar module .
                    345: .It Fl f
                    346: Force the use of the head revision if the specified
                    347: tag or date is not found.
                    348: .It Fl j Ar rev
                    349: Merge in changes made between current revision and
                    350: .Ar rev .
                    351: If two
                    352: .Fl j
                    353: options are specified, only merge the differences between the two
                    354: revisions of the branch.
                    355: This allows successive merges without having to resolve
                    356: already resolved conflicts again.
                    357: .It Fl k Ar mode
                    358: Specify the keyword substitution mode (is sticky).
                    359: .It Fl l
                    360: Limit the scope of the search to the local directory
                    361: only and disable recursive behaviour.
                    362: .It Fl N
                    363: If used in conjunction with the
                    364: .Fl d
                    365: option, files are placed in local directory
                    366: .Ar module ,
                    367: located in directory
                    368: .Ar dir .
                    369: .It Fl n
                    370: Do not execute programs listed in the
                    371: .Pa CVSROOT/modules
                    372: file.
                    373: .It Fl P
                    374: Prune empty directories.
                    375: .It Fl p
                    376: Check out files to standard output (avoids stickiness).
                    377: .It Fl R
                    378: Enable recursive behaviour.
                    379: This is the default.
                    380: .It Fl r Ar rev
                    381: Check out from a particular revision or branch (implies
                    382: .Fl P )
                    383: (is sticky).
                    384: .It Fl s
                    385: Like
                    386: .Fl c ,
                    387: but include module status.
                    388: .El
1.13      jmc       389: .Pp
                    390: Aliases:
                    391: .Ic co ,
                    392: .Ic get .
1.11      jmc       393: .It Xo Ic commit
1.3       jfb       394: .Op Fl flnR
1.27      xsa       395: .Oo Fl F Ar logfile \*(Ba
                    396: .Fl m Ar msg Oc
1.3       jfb       397: .Op Fl r Ar rev
1.4       jfb       398: .Op Ar file ...
1.3       jfb       399: .Xc
1.7       jfb       400: .Pp
1.1       jfb       401: The
1.11      jmc       402: .Ic commit
1.1       jfb       403: command is used to send local changes back to the server and update the
                    404: repository's information to reflect the changes.
1.27      xsa       405: .Pp
                    406: The
1.35      jmc       407: .Ic commit
                    408: command takes the following options:
                    409: .Bl -tag -width Ds -offset 3n
                    410: .It Fl F Ar logfile
                    411: Specify a
1.27      xsa       412: .Ar file
1.35      jmc       413: which contains the log message.
                    414: .It Fl f
                    415: Force a file to be committed, even though it is unchanged.
                    416: .It Fl l
                    417: Limit the scope of the search to the local directory
                    418: only and disable recursive behaviour.
                    419: .It Fl m Ar msg
                    420: Specify a log message on the command line (suppresses the editor invocation).
                    421: .It Fl n
                    422: Do not execute programs listed in the
                    423: .Pa CVSROOT/modules
                    424: file.
                    425: .It Fl R
                    426: Enable recursive behaviour.
                    427: This is the default.
                    428: .It Fl r Ar rev
                    429: Commit to a particular symbolic or numerical revision.
                    430: .El
1.13      jmc       431: .Pp
                    432: Aliases:
                    433: .Ic ci ,
                    434: .Ic com .
1.24      jfb       435: .It Xo Ic diff Op Fl cilNpu
1.3       jfb       436: .Op Fl D Ar date
                    437: .Op Fl r Ar rev
1.4       jfb       438: .Op Ar file ...
1.3       jfb       439: .Xc
1.7       jfb       440: .Pp
1.3       jfb       441: The
1.11      jmc       442: .Ic diff
1.3       jfb       443: command is very similar to the
                    444: .Xr diff 1
1.5       jfb       445: program, except that the differential comparisons that it generates are
1.3       jfb       446: between local or remote revisions of files stored in the CVS repository.
1.13      jmc       447: .Pp
                    448: Aliases:
                    449: .Ic di ,
                    450: .Ic dif .
1.30      xsa       451: .It Xo Ic edit Op Fl lR
                    452: .Op Fl a Ar action
                    453: .Op Ar file ...
                    454: .Xc
                    455: .Pp
                    456: The
                    457: .Ic edit
1.35      jmc       458: command is used to make a file that is being watched
                    459: (and therefore read-only)
1.30      xsa       460: readable and writable and to inform others that you are planning to edit it.
                    461: Notifications terminate when the
                    462: .Ic commit
                    463: command is issued.
                    464: Editing rights on the file can be given up using the
                    465: .Ic unedit
1.35      jmc       466: command, which terminates the temporary notifications.
1.30      xsa       467: .Pp
                    468: The
1.35      jmc       469: .Ic edit
                    470: command takes the following options:
                    471: .Bl -tag -width Ds -offset 3n
                    472: .It Fl a Ar action
                    473: Specify the temporary notification wanted:
                    474: .Pp
                    475: .Bl -tag -width "commitXX" -compact
1.30      xsa       476: .It Cm commit
1.35      jmc       477: Another user has committed changes to the file.
1.30      xsa       478: .It Cm edit
                    479: Another user has issued the
                    480: .Ic edit
1.35      jmc       481: command on the file.
1.30      xsa       482: .It Cm unedit
                    483: Another user has issued the
                    484: .Ic unedit
1.35      jmc       485: command on the file.
1.30      xsa       486: .It Cm all
                    487: All of the above.
                    488: .It Cm none
                    489: None of the above.
                    490: .El
                    491: .Pp
                    492: The
                    493: .Fl a
                    494: flag may appear more than once, or not at all.
                    495: If omitted, the action defaults to
1.31      jmc       496: .Cm all .
1.35      jmc       497: .It Fl l
                    498: Limit the scope of the search to the local directory
                    499: only and disable recursive behaviour.
                    500: .It Fl R
                    501: Enable recursive behaviour.
                    502: This is the default.
                    503: .El
1.33      xsa       504: .It Xo Ic editors
                    505: .Op Fl lR
1.34      xsa       506: .Op Ar file ...
1.33      xsa       507: .Xc
                    508: .Pp
                    509: The
                    510: .Ic editors
                    511: command lists the users with edition rights on a file.
                    512: For that, pseudo-lock mode must be enabled (see the
                    513: .Ic watch
                    514: command).
                    515: The e-mail address of the user editing the file, the timestamp
                    516: when the edition first started, the host from where the edition
                    517: has been requested and the path to the edited file are listed.
                    518: .Pp
                    519: The
1.35      jmc       520: .Ic editors
                    521: command takes the following options:
                    522: .Bl -tag -width Ds -offset 3n
                    523: .It Fl l
                    524: Limit the scope of the search to the local directory
                    525: only and disable recursive behaviour.
                    526: .It Fl R
                    527: Enable recursive behaviour.
                    528: This is the default.
                    529: .El
1.36      xsa       530: .It Xo Ic export
                    531: .Op Fl flNnR
                    532: .Op Fl d Ar dir
                    533: .Op Fl k Ar mode
                    534: .Fl D Ar date \*(Ba
                    535: .Fl r Ar rev
                    536: .Ar module ...
                    537: .Xc
                    538: .Pp
                    539: The
                    540: .Ic export
                    541: command extracts a copy of
                    542: .Ar module
                    543: without including the directories used for management by
                    544: .Nm .
                    545: This eases production of a software release.
                    546: A date or a revision must be specified for the command to be valid,
                    547: which ensures that later extractions can be reproduced with the same
                    548: options as the release.
                    549: .Pp
                    550: The checked out module's files will be placed in a directory
                    551: bearing the same name as the checked out module, by default.
                    552: .Pp
                    553: The
                    554: .Ic export
                    555: command takes the following options:
                    556: .Bl -tag -width Ds -offset 3n
                    557: .It Fl D Ar date
                    558: Export as of the latest revision no later than
                    559: .Ar date .
                    560: .It Fl d Ar dir
                    561: Export in directory
                    562: .Ar dir
                    563: instead of the directory bearing the same name as the
                    564: .Ar module .
                    565: .It Fl f
                    566: Force the use of the head revision if the specified
                    567: tag or date is not found.
                    568: This can be used in combination with
                    569: .Fl D
                    570: or
                    571: .Fl r
                    572: to ensure that the
                    573: .Ic export
                    574: command is valid.
                    575: .It Fl k Ar mode
                    576: Specify the keyword substitution mode: the
                    577: .Fl k Ar v
                    578: option is often used to avoid substitution of keywords during
                    579: a release cycle.
                    580: However, be aware that it does not handle an export containing
                    581: binary files correctly.
                    582: .It Fl l
                    583: Limit the scope of the search to the local directory
                    584: only and disable recursive behaviour.
                    585: .It Fl N
                    586: If used in conjunction with the
                    587: .Fl d
                    588: option, files are placed in local directory
                    589: .Ar module ,
                    590: located in directory
                    591: .Ar dir .
                    592: .It Fl n
                    593: Do not execute programs listed in the
                    594: .Pa CVSROOT/modules
                    595: file.
                    596: .It Fl R
                    597: Enable recursive behaviour.
                    598: This is the default.
                    599: .It Fl r Ar rev
                    600: Export from a particular symbolic or numerical revision.
                    601: .El
1.13      jmc       602: .Pp
                    603: Aliases:
                    604: .Ic ex ,
                    605: .Ic exp .
1.49      xsa       606: .It Xo Ic history
                    607: .Op Fl aceloTw
                    608: .Op Fl b Ar str
                    609: .Op Fl D Ar date
                    610: .Op Fl f Ar file
                    611: .Op Fl m Ar module
                    612: .Op Fl n Ar module
                    613: .Op Fl p Ar path
                    614: .Op Fl r Ar rev
                    615: .Op Fl t Ar tag
                    616: .Op Fl u Ar user
                    617: .Op Fl x Ar ACEFGMORTUW
                    618: .Op Fl z Ar tz
                    619: .Op Ar file ...
                    620: .Xc
                    621: .Pp
                    622: The
                    623: .Ic history
                    624: command is used to display the history of actions done in the
                    625: base repository.
                    626: This functionality is only available if the
1.50      xsa       627: .Pa CVSROOT/history
1.49      xsa       628: file has been created.
                    629: Only the
                    630: .Ic checkout ,
                    631: .Ic commit ,
                    632: .Ic export ,
                    633: .Ic release ,
                    634: .Ic rtag ,
                    635: and
                    636: .Ic update
                    637: commands are logged into this file.
                    638: .Pp
                    639: The
                    640: .Ic history
                    641: command takes the following options:
                    642: .Bl -tag -width Ds -offset 3n
                    643: .It Fl a
                    644: Display records for all users.
                    645: By default, only records from the user issuing the
                    646: .Ic history
                    647: command are displayed.
                    648: .It Fl b Ar str
                    649: Display everything back to a record containing the string
                    650: .Ar str
                    651: in either the module name, the file name, or the repository path.
                    652: .It Fl c
                    653: Display the archived files
                    654: .Pf ( Ic commit
                    655: command).
                    656: .It Fl D Ar date
                    657: Report no later than
                    658: .Ar date .
                    659: .It Fl e
                    660: Select all records (same as
                    661: .Fl x
                    662: with all types).
                    663: .It Fl f Ar file
                    664: Display records related to
                    665: .Ar file .
                    666: .It Fl l
                    667: Show last checkouts of modules with the
                    668: .Ic checkout
                    669: command.
                    670: .It Fl m Ar module
                    671: Look for the
                    672: .Ar module
                    673: (can be used several times).
                    674: .It Fl n Ar module
                    675: Search into the
                    676: .Ar module .
                    677: .It Fl o
                    678: Report on modules checked out by users.
                    679: .It Fl p Ar path
                    680: Display records from the base repository being in the directory
                    681: specified by the
                    682: .Ar path .
                    683: .It Fl r Ar rev
                    684: Report for a particular revision (checks in the RCS file).
                    685: .It Fl t Ar tag
                    686: Report since tag record placed in the
1.50      xsa       687: .Pa CVSROOT/history
1.49      xsa       688: file by any user.
                    689: .It Fl T
                    690: Report on all tags.
                    691: .It Fl u Ar user
                    692: Report for a specified
                    693: .Ar user .
                    694: Can be used several times to match many users.
                    695: .It Fl w
                    696: Check that records match the current working directory.
                    697: .It Fl x Ar ACEFGMORTUW
                    698: Extract by a specific record type specified by a single letter.
                    699: They can be used in combination.
                    700: The available types are as follows:
                    701: .Bl -tag -width "XXX"
                    702: .It A
                    703: A file has been added with the
                    704: .Ic add
                    705: command.
                    706: .It C
                    707: A merge has been done, but unresolved conflicts still remain.
                    708: .It E
                    709: Export.
                    710: .It F
                    711: Release.
                    712: .It G
                    713: A merge has been done without conflict.
                    714: .It M
                    715: A file has been modified (using the
                    716: .Ic commit
                    717: command).
                    718: .It O
                    719: Checkout.
                    720: .It R
                    721: A file has been removed with the
                    722: .Ic remove
                    723: command.
                    724: .It T
                    725: Rtag.
                    726: .It U
                    727: Normal update.
                    728: .It W
                    729: The file has been deleted from the directory because it does not
                    730: exist anymore in the base repository.
                    731: .El
                    732: .It Fl z Ar tz
                    733: Display records with time synchronized with the
                    734: .Ar timezone
                    735: passed as argument.
                    736: .El
                    737: .Pp
                    738: All records have the following five first columns:
                    739: .Pp
                    740: .Bl -dash -compact
                    741: .It
                    742: The record type (the
                    743: .Fl x
                    744: option).
                    745: .It
                    746: The date of the action.
                    747: .It
                    748: The time of the action.
                    749: .It
                    750: The time zone.
                    751: .It
                    752: The user who made the action.
                    753: .El
                    754: .Pp
1.51      xsa       755: The other columns vary depending on the command issued:
                    756: .Pp
                    757: For records coming from the
                    758: .Ic rtag
                    759: command, the additional columns are as follows:
                    760: .Bd -literal -offset indent
                    761: <module> [<tag>:<argument>] {<working directory>}
                    762: .Ed
                    763: .Pp
                    764: For records coming from the
                    765: .Ic checkout
                    766: and
                    767: .Ic export
                    768: commands, the additional columns are as follows:
                    769: .Bd -literal -offset indent
                    770: <request> <repository> =<module>= <working directory>
                    771: .Ed
                    772: .Pp
                    773: For records coming from the
                    774: .Ic release
                    775: command, the additional columns are as follows:
                    776: .Bd -literal -offset indent
                    777: =<module>= <working directory>
                    778: .Ed
                    779: .Pp
                    780: For records coming from the
                    781: .Ic commit
                    782: and
                    783: .Ic update
                    784: commands, the additional columns are as follows:
                    785: .Bd -literal -offset indent
                    786: <version> <file> <module> == <working directory>
                    787: .Ed
1.13      jmc       788: .Pp
                    789: Aliases:
                    790: .Ic hi ,
                    791: .Ic his .
1.22      jmc       792: .It Xo Ic import
                    793: .Op Fl b Ar branch
                    794: .Op Fl m Ar msg
                    795: .Ar repository
                    796: .Ar vendortag
                    797: .Ar releasetag
                    798: .Xc
                    799: .Pp
1.13      jmc       800: Import sources into CVS using vendor branches.
1.22      jmc       801: .Pp
                    802: At least three arguments are required:
                    803: .Ar repository
                    804: specifies the location of the sources to be imported;
                    805: .Ar vendortag
                    806: is a tag for the entire branch;
                    807: .Ar releasetag
                    808: is used to identify the files you created with
1.35      jmc       809: .Ic cvs import .
                    810: .Pp
                    811: The
                    812: .Ic import
                    813: command takes the following options:
                    814: .Bl -tag -width Ds -offset 3n
                    815: .It Fl b Ar branch
                    816: Specify the first-level branch number.
                    817: .It Fl m Ar msg
                    818: Specify the log message to send.
                    819: .El
1.13      jmc       820: .Pp
                    821: Aliases:
                    822: .Ic im ,
                    823: .Ic imp .
                    824: .It Ic init
                    825: Create a CVS repository if it doesn't exist.
                    826: .It Ic kserver
                    827: Start a Kerberos authentication server.
1.52    ! xsa       828: .It Xo Ic log
        !           829: .Op Fl bhlNRt
        !           830: .Op Fl d Ar dates
        !           831: .Op Fl r Ar revs
        !           832: .Op Fl s Ar state
        !           833: .Op Fl w Ar users
        !           834: .Op Ar file ...
        !           835: .Xc
        !           836: .Pp
        !           837: The
        !           838: .Ic log
        !           839: command displays information on a
        !           840: .Ar file
        !           841: such as its different revisions, description, different tags,
        !           842: as well as the comments, dates, and authors of these revisions.
        !           843: By default, the
        !           844: .Ic log
        !           845: command displays all the available information; the options are only
        !           846: used to restrict the displayed information.
        !           847: .Pp
        !           848: The
        !           849: .Ic log
        !           850: command takes the following options:
        !           851: .Bl -tag -width Ds -offset 3n
        !           852: .It Fl b
        !           853: List revisions of the default branch only.
        !           854: .It Fl d Ar dates
        !           855: Specify revisions with dates matching the specification.
        !           856: The specification might be as follows:
        !           857: .Bl -tag -width "XXXXXXXXXXXXXX"
        !           858: .It D1>D2 or D2>D1
        !           859: Select all revisions between
        !           860: .Ar \&D1
        !           861: and
        !           862: .Ar D2 .
        !           863: .It <D or D>
        !           864: Select all revisions before
        !           865: .Ar D .
        !           866: .It >D or D<
        !           867: Select all revisions after
        !           868: .Ar D .
        !           869: .It D
        !           870: Select the latest revision before or equal to
        !           871: .Ar D .
        !           872: .El
        !           873: .Pp
        !           874: The
        !           875: .Sq \*(Gt
        !           876: and
        !           877: .Sq \*(Lt
        !           878: characters can be followed by the
        !           879: .Sq =
        !           880: character to imply an inclusive specification.
        !           881: Several specifications can be used by separating them with the
        !           882: .Sq \&;
        !           883: character.
        !           884: .It Fl h
        !           885: Print header only.
        !           886: .It Fl l
        !           887: Limit the scope of the search to the local directory only.
        !           888: .It Fl N
        !           889: Do not list tags.
        !           890: .It Fl R
        !           891: Print name of RCS file only.
        !           892: .It Fl r Ar revs
        !           893: Specify revision(s) to list:
        !           894: .Bl -tag -width "XXXXXXXXXXXXXXX"
        !           895: .It REV1,REV2,...,
        !           896: A list of revisions is specified by separating names or numbers
        !           897: of revisions by the
        !           898: .Sq \&,
        !           899: character.
        !           900: .It REV1:REV2
        !           901: List all revisions between
        !           902: .Ar REV1
        !           903: and
        !           904: .Ar REV2
        !           905: (they must be on the same branch).
        !           906: .It :REV
        !           907: List all revisions since the beginning of the branch until
        !           908: .Ar REV
        !           909: included.
        !           910: .It REV:
        !           911: List all revisions of the branch beginning with
        !           912: .Ar REV .
        !           913: .It BRANCH
        !           914: List all revisions of a branch.
        !           915: .It BRANCH.
        !           916: List the latest revision of the branch
        !           917: .Ar BRANCH .
        !           918: .It BRANCH1:BRANCH2
        !           919: List all revisions of branches between
        !           920: .Ar BRANCH1
        !           921: and
        !           922: .Ar BRANCH2 .
        !           923: .El
        !           924: .Pp
        !           925: Without argument, the
        !           926: .Fl r
        !           927: option means the latest revision of the default branch.
        !           928: .It Fl s Ar state
        !           929: List revisions of the specified
        !           930: .Ar state
        !           931: only.
        !           932: Several states can be listed by separating them with the
        !           933: .Sq \&,
        !           934: character.
        !           935: .It Fl t
        !           936: Print header and description only.
        !           937: .It Fl w Ar users
        !           938: Do not list revisions made by specified
        !           939: .Ar users .
        !           940: Usernames should be separated by the
        !           941: .Sq \&,
        !           942: character.
        !           943: .El
1.13      jmc       944: .Pp
                    945: Aliases:
                    946: .Ic lo .
                    947: .It Ic login
1.35      jmc       948: Prompt for a password for an authenticating server.
1.13      jmc       949: .It Ic logout
1.35      jmc       950: Remove an entry in
                    951: .Pa .cvspass
                    952: for a remote repository.
1.13      jmc       953: .It Ic rdiff
                    954: Create
                    955: .Xr patch 1
                    956: format diffs between releases.
1.39      xsa       957: .It Xo Ic release
                    958: .Op Fl d
                    959: .Ar dir ...
                    960: .Xc
                    961: The
                    962: .Ic release
                    963: command indicates to
                    964: .Nm
                    965: that the working copy of a module is no longer in use and checks
                    966: that non archived modifications in the base repository do exist.
                    967: This command is not mandatory.
                    968: Local directories could always be removed without using it, but
                    969: in this case the handling of history information will no longer be
                    970: correct (see the
                    971: .Ic history
                    972: command).
                    973: .Pp
                    974: The
                    975: .Ic release
                    976: command takes the following options:
                    977: .Bl -tag -width Ds -offset 3n
                    978: .It Fl d Ar dir
                    979: Remove the directory
                    980: .Ar dir .
                    981: Be aware that this option silently removes any directories that have
                    982: been added to the local working copy without using the
                    983: .Ic add
                    984: command.
                    985: .El
                    986: .Pp
                    987: For each file not being synchronized with the base repository,
                    988: a single letter prefix is given to specify the state of the file.
                    989: The possible prefixes are as follows:
                    990: .Bl -tag -width "XXX"
                    991: .It \&?
                    992: The file is unknown to
                    993: .Nm
                    994: and is not in the list of files to ignore.
                    995: Any new directories which have not been added with the
                    996: .Ic add
                    997: command are silently ignored as well as their content.
                    998: .It A
                    999: The file has been added with the
                   1000: .Ic add
                   1001: command, but has not been committed to the repository with the
                   1002: .Ic commit
                   1003: command.
                   1004: .It M
                   1005: The file has been locally modified; a more recent version might
                   1006: exist in the base repository.
                   1007: .It R
                   1008: The file has been removed with the
                   1009: .Ic remove
                   1010: command, but has not been committed to the repository with the
                   1011: .Ic commit
                   1012: command.
                   1013: .It U
                   1014: A more recent version of the file does exist but it is not
                   1015: locally up to date.
                   1016: .El
1.40      xsa      1017: .Pp
                   1018: Aliases:
                   1019: .Ic re ,
                   1020: .Ic rel .
1.18      xsa      1021: .It Xo Ic remove
                   1022: .Op Fl flR
                   1023: .Op Ar file ...
                   1024: .Xc
                   1025: The
                   1026: .Ic remove
                   1027: command is used to inform
                   1028: .Nm
                   1029: that
                   1030: .Ar file
                   1031: is scheduled to be removed from the repository.
                   1032: Files are not actually removed from the repository until the
                   1033: .Ic commit
                   1034: command has been run subsequently.
1.28      xsa      1035: .Pp
                   1036: The
1.35      jmc      1037: .Ic remove
                   1038: command takes the following options:
                   1039: .Bl -tag -width Ds -offset 3n
                   1040: .It Fl f
                   1041: Force local file removal.
1.28      xsa      1042: If this flag is not used, the file must be locally removed beforehand for
                   1043: the command to be valid.
1.35      jmc      1044: .It Fl l
                   1045: Limit the scope of the search to the local directory
                   1046: only and disable recursive behaviour.
                   1047: .It Fl R
                   1048: Enable recursive behaviour.
                   1049: This is the default.
                   1050: .El
1.18      xsa      1051: .Pp
                   1052: Aliases:
1.19      xsa      1053: .Ic rm ,
                   1054: .Ic delete .
1.13      jmc      1055: .It Ic rlog
                   1056: Print out history information for a module.
                   1057: .It Ic rtag
                   1058: Add a symbolic link to a module.
                   1059: .It Ic server
                   1060: Server mode.
1.25      xsa      1061: .It Xo Ic status
                   1062: .Op Fl lRv
                   1063: .Op Ar file ...
                   1064: .Xc
                   1065: The
                   1066: .Ic status
                   1067: command is used to display the state of checked out files.
                   1068: .Pp
                   1069: The
1.35      jmc      1070: .Ic status
                   1071: command takes the following options:
                   1072: .Bl -tag -width Ds -offset 3n
                   1073: .It Fl l
                   1074: Limit the scope of the search to the local directory
                   1075: only and disable recursive behaviour.
                   1076: .It Fl R
                   1077: Enable recursive behaviour.
                   1078: This is the default.
                   1079: .It Fl v
                   1080: Display symbolic tags for
                   1081: .Ar file .
1.25      xsa      1082: .Pp
1.35      jmc      1083: The state may be one of the following:
                   1084: .Bl -tag -width "Locally modified"
1.25      xsa      1085: .It Cm Locally Added
                   1086: The file has been added with the
                   1087: .Ic add
                   1088: command, but has not been committed to the repository with the
                   1089: .Ic commit
                   1090: command.
                   1091: .It Cm Locally Modified
1.35      jmc      1092: The file is up to date, but has been locally modified.
1.25      xsa      1093: .It Cm Locally Removed
                   1094: The file has been removed with the
                   1095: .Ic remove
                   1096: command, but has not been committed to the repository with the
                   1097: .Ic commit
                   1098: command.
                   1099: .It Cm Needs Checkout
                   1100: The file has not been modified; a new version is available.
                   1101: .It Cm Needs Merge
                   1102: The file has been modified and a newer version is available.
                   1103: .It Cm Needs Patch
                   1104: Same as
                   1105: .Ic Needs Checkout
                   1106: but, in client-server mode, only the differences are sent to save
                   1107: network resources.
                   1108: .It Cm Unresolved Conflict
                   1109: A merge has been done, but unresolved conflicts still remain.
                   1110: .It Cm Up-to-date
                   1111: The file is up to date.
                   1112: .El
1.35      jmc      1113: .El
1.13      jmc      1114: .Pp
                   1115: Aliases:
                   1116: .Ic st ,
                   1117: .Ic stat .
1.21      jmc      1118: .It Xo Ic tag
1.35      jmc      1119: .Op Fl bdlR
1.21      jmc      1120: .Op Fl r Ar old_tag
                   1121: .Op Ar symbolic_tag
                   1122: .Op Ar file ...
                   1123: .Xc
                   1124: .Pp
                   1125: Add a symbolic tag to a checked out version of
                   1126: .Ar file .
                   1127: .Pp
                   1128: The
1.35      jmc      1129: .Ic tag
                   1130: command takes the following options:
                   1131: .Bl -tag -width Ds -offset 3n
                   1132: .It Fl b
                   1133: Specify a branch tag.
                   1134: .It Fl d
                   1135: Delete tag.
                   1136: .It Fl l
                   1137: Limit the scope of the search to the local directory
                   1138: only and disable recursive behaviour.
                   1139: .It Fl R
                   1140: Enable recursive behaviour.
                   1141: This is the default.
                   1142: .It Fl r Ar old_tag
1.21      jmc      1143: .Nm
                   1144: will only tag the files with
                   1145: .Ar symbolic_tag
                   1146: if they are already tagged with
                   1147: .Ar old_tag .
                   1148: When done, it will remove the old tag
                   1149: leaving only the new tag behind on exactly the same files.
1.35      jmc      1150: .El
1.13      jmc      1151: .Pp
                   1152: Aliases:
                   1153: .Ic ta ,
                   1154: .Ic freeze .
1.30      xsa      1155: .It Xo Ic unedit Op Fl lR
                   1156: .Op Ar file ...
                   1157: .Xc
                   1158: .Pp
                   1159: The
                   1160: .Ic unedit
                   1161: command is used to give up an edition on a file and thus cancel
                   1162: the wanted temporary notifications.
                   1163: If the file has been modified since the
1.13      jmc      1164: .Ic edit
1.30      xsa      1165: command has been issued,
                   1166: .Nm
                   1167: will ask if you want to go back to the previous version, and lose the
                   1168: modifications done on the file, or stay in edition mode on it.
                   1169: .Pp
                   1170: The
1.35      jmc      1171: .Ic unedit
                   1172: command takes the following options:
                   1173: .Bl -tag -width Ds -offset 3n
                   1174: .It Fl l
                   1175: Limit the scope of the search to the local directory
                   1176: only and disable recursive behaviour.
                   1177: .It Fl R
                   1178: Enable recursive behaviour.
                   1179: This is the default.
                   1180: .El
1.11      jmc      1181: .It Xo Ic update
1.38      xsa      1182: .Op Fl AdflPpR
                   1183: .Oo Fl D Ar date \*(Ba
                   1184: .Fl r Ar rev Oc
                   1185: .Op Fl I Ar ign
                   1186: .Op Fl j Ar rev
                   1187: .Op Fl k Ar mode
                   1188: .Op Fl W Ar spec
1.4       jfb      1189: .Op Ar file ...
1.3       jfb      1190: .Xc
1.7       jfb      1191: .Pp
1.3       jfb      1192: The
1.11      jmc      1193: .Ic update
1.17      david    1194: command is used to merge any of the changes that have occurred on the remote
1.3       jfb      1195: repository into the local one where the command was run.
                   1196: .Pp
                   1197: The
1.35      jmc      1198: .Ic update
                   1199: command takes the following options:
                   1200: .Bl -tag -width Ds -offset 3n
                   1201: .It Fl A
1.41      xsa      1202: Reset any sticky tags, dates, or keyword substitution modes that
                   1203: have been set on the tree.
1.38      xsa      1204: .It Fl D Ar date
                   1205: Update as of the latest revision no later than
                   1206: .Ar date
                   1207: (is sticky).
                   1208: .It Fl d
                   1209: Create any new directories.
                   1210: Without this option,
                   1211: .Nm
                   1212: does not create any new files sitting in these new directories
                   1213: added in the base repository since the last update of the working
                   1214: copy, or since the last update with the
                   1215: .Fl d
                   1216: option.
                   1217: .It Fl f
                   1218: Force the use of the head revision if the specified
                   1219: tag or date is not found.
                   1220: .It Fl I Ar ign
                   1221: Ignore files specified by
                   1222: .Ar ign .
                   1223: This option can be used several times on the command line.
                   1224: To see all files, use the
                   1225: .Fl I Ar !\&
                   1226: specification.
                   1227: .It Fl j Ar rev
                   1228: Merge in changes made between current revision and
                   1229: .Ar rev .
                   1230: If two
                   1231: .Fl j
                   1232: options are specified, only merge the differences between the two
                   1233: revisions of the branch.
                   1234: This allows successive merges without having to resolve
                   1235: already resolved conflicts again.
                   1236: .It Fl k Ar mode
                   1237: Specify the keyword substitution mode (is sticky).
1.35      jmc      1238: .It Fl l
                   1239: Limit the scope of the search to the local directory
                   1240: only and disable recursive behaviour.
                   1241: .It Fl P
                   1242: Prune any directories that have become empty as a result of the update.
1.38      xsa      1243: .It Fl p
                   1244: Send the result of the update to standard output (avoids stickiness).
1.35      jmc      1245: .It Fl R
                   1246: Enable recursive behaviour.
                   1247: This is the default.
1.38      xsa      1248: .It Fl r Ar rev
                   1249: Update from a particular revision or branch (is sticky).
                   1250: .It Fl W Ar spec
                   1251: Wrappers specification line.
1.35      jmc      1252: .El
1.38      xsa      1253: .Pp
                   1254: By default, the
                   1255: .Ic update
                   1256: command does not create new directories; the
                   1257: .Fl d
                   1258: option must be used for that.
1.29      xsa      1259: .Pp
                   1260: For each file updated, a single letter prefix is given to
                   1261: specify the state of the file.
                   1262: The possible prefixes are as follows:
                   1263: .Bl -tag -width "XXX"
                   1264: .It \&?
                   1265: The file is unknown to
                   1266: .Nm .
                   1267: .It A
                   1268: The file has been added with the
                   1269: .Ic add
                   1270: command, but has not been committed to the repository with the
                   1271: .Ic commit
                   1272: command.
                   1273: .It C
                   1274: A merge, with a more recent version of the file, has been done,
                   1275: but unresolved conflicts still remain.
                   1276: .It M
                   1277: The file has been locally modified; if a more recent version
                   1278: is available, the merge has been done without conflict.
                   1279: .It P
                   1280: The same as
                   1281: .Sq U ,
                   1282: but, in client-server mode, only differences are sent to save network
                   1283: resources.
                   1284: .It R
                   1285: The file has been removed with the
                   1286: .Ic remove
                   1287: command, but has not been committed to the repository with the
                   1288: .Ic commit
                   1289: command.
                   1290: .It U
                   1291: The file is up to date.
                   1292: .El
1.13      jmc      1293: .Pp
                   1294: Aliases:
                   1295: .Ic up ,
                   1296: .Ic upd .
1.11      jmc      1297: .It Ic version
1.3       jfb      1298: Causes
                   1299: .Nm
                   1300: to print its version information.
1.14      jfb      1301: If this command is issued within a local copy of a remote repository or
                   1302: if either the
                   1303: .Ev CVSROOT
                   1304: environment variable or the
                   1305: .Fl d
                   1306: flag specify a remote repository,
1.3       jfb      1307: .Nm
                   1308: will also connect to the server and ask it to print its version information.
1.13      jmc      1309: .Pp
                   1310: Aliases:
                   1311: .Ic ve ,
                   1312: .Ic ver .
1.32      xsa      1313: .It Xo Ic watch
                   1314: .Ar on | off | add | remove
                   1315: .Op Fl lR
                   1316: .Op Fl a Ar action
                   1317: .Op Ar file ...
                   1318: .Xc
                   1319: .Pp
                   1320: The
                   1321: .Ic watch
                   1322: command switches a file from normal mode to
                   1323: pseudo-lock mode as well as handling the notifications associated
                   1324: with it.
                   1325: Pseudo-lock mode means knowing who is editing a file:
                   1326: for that,
                   1327: .Nm
                   1328: extracts the file in read-only mode.
                   1329: Users must use the
                   1330: .Ic edit
                   1331: command to get the editing rights on the file.
                   1332: .Pp
                   1333: One of the following arguments to the
                   1334: .Ic watch
                   1335: command is mandatory: on, off, add, or remove.
                   1336: .Ar on
                   1337: switches the file into pseudo-lock mode;
                   1338: .Ar off
                   1339: switches it back to normal mode;
                   1340: .Ar add
                   1341: adds notifications for specific actions on the file;
                   1342: .Ar remove
                   1343: removes those notifications.
                   1344: .Pp
                   1345: The notifications are permanent.
                   1346: They remain in place until the
                   1347: .Ic watch remove
                   1348: command is issued while the temporary notifications are
                   1349: made available with the
                   1350: .Ic edit
                   1351: command.
                   1352: .Pp
                   1353: The
1.35      jmc      1354: .Ic watch
                   1355: command takes the following options:
                   1356: .Bl -tag -width Ds -offset 3n
                   1357: .It Fl a Ar action
                   1358: Specify the permanent notification wanted for
1.32      xsa      1359: .Ar add | remove :
                   1360: .Pp
                   1361: .Bl -tag -width "commitXX" -compact
                   1362: .It Cm commit
1.35      jmc      1363: Another user has committed changes to the file.
1.32      xsa      1364: .It Cm edit
1.35      jmc      1365: Another user is editing the file.
1.32      xsa      1366: .It Cm unedit
1.35      jmc      1367: Another user has finished editing the file.
1.32      xsa      1368: .It Cm all
                   1369: All of the above.
                   1370: .It Cm none
                   1371: No notification.
                   1372: .El
                   1373: .Pp
1.35      jmc      1374: If no specification is requested using the
1.32      xsa      1375: .Ar add
                   1376: or
                   1377: .Ar remove
                   1378: arguments, it implies the
                   1379: .Fl a Ar all
                   1380: option.
1.35      jmc      1381: .It Fl l
                   1382: Limit the scope of the search to the local directory
                   1383: only and disable recursive behaviour.
                   1384: .It Fl R
                   1385: Enable recursive behaviour.
                   1386: This is the default.
                   1387: .El
1.32      xsa      1388: .It Xo Ic watchers
                   1389: .Op Fl lR
                   1390: .Op Ar file ...
                   1391: .Xc
                   1392: .Pp
                   1393: The
                   1394: .Ic watchers
                   1395: command lists the users who asked for notifications as well as the
                   1396: notifications details.
                   1397: The possible notifications are as follows:
                   1398: .Bl -tag -width "tcommitXX"
                   1399: .It Cm commit
                   1400: Permanent watch of a commit of a new version of a file.
                   1401: .It Cm edit
                   1402: Permanent watch of the start of file edition.
                   1403: .It Cm tcommit
                   1404: Temporary watch of a commit of new version of a file.
                   1405: .It Cm tedit
                   1406: Temporary watch of the start of file edition.
                   1407: .It Cm tunedit
                   1408: Temporary watch of the end of file edition.
                   1409: .It Cm unedit
                   1410: Permanent watch of the end of file edition.
                   1411: .El
                   1412: .Pp
                   1413: The temporary watches are set using the
                   1414: .Ic edit
                   1415: command, until the
                   1416: .Ic commit
                   1417: or
                   1418: .Ic unedit
1.35      jmc      1419: command is issued on a file.
                   1420: .Pp
                   1421: The
                   1422: .Ic watchers
                   1423: command takes the following options:
                   1424: .Bl -tag -width Ds -offset 3n
                   1425: .It Fl l
                   1426: Limit the scope of the search to the local directory
                   1427: only and disable recursive behaviour.
                   1428: .It Fl R
                   1429: Enable recursive behaviour.
                   1430: This is the default.
                   1431: .El
1.1       jfb      1432: .El
                   1433: .Sh ENVIRONMENT
                   1434: .Bl -tag -width CVS_CLIENT_LOG
1.8       jmc      1435: .It Ev CVS_CLIENT_LOG
                   1436: This variable enables logging of all communications between the client and
                   1437: server when running in non-local mode.
                   1438: If set, this environment variable must contain a base path from which two
                   1439: paths will be generated by appending ".in" to the value for the server's
                   1440: input and ".out" for the server's output.
1.1       jfb      1441: .It Ev CVS_RSH
                   1442: Name of the program to use when connecting to the server through a remote
                   1443: shell.
                   1444: The default is to use the
                   1445: .Xr ssh 1
                   1446: program.
                   1447: .It Ev CVS_SERVER
                   1448: If set, gives the name of the program to invoke as a
                   1449: .Nm
                   1450: server when using remote shell.
                   1451: The default is to use `cvs'.
                   1452: .It Ev CVSEDITOR
                   1453: Name of the editor to use when editing commit messages.
1.8       jmc      1454: Checked before
                   1455: .Ev EDITOR
                   1456: and
                   1457: .Ev VISUAL .
                   1458: .It Ev CVSROOT
                   1459: When set, this variable should contain the string pointing to the root
                   1460: directory of the CVS repository.
                   1461: The contents of this variable are ignored when the
                   1462: .Fl d
                   1463: option is given or if `Root' files exist in the checked-out copy.
1.1       jfb      1464: .It Ev EDITOR
1.9       jmc      1465: Name of the editor to use when editing commit messages.
                   1466: This is traditionally a line-oriented editor,
                   1467: such as
                   1468: .Xr ex 1 .
1.1       jfb      1469: .It Ev VISUAL
1.9       jmc      1470: Name of the editor to use when editing commit messages.
                   1471: This is traditionally a screen-oriented editor,
                   1472: such as
                   1473: .Xr vi 1 .
1.8       jmc      1474: .El
                   1475: .Sh FILES
                   1476: .Bl -tag -width Ds
                   1477: .It Pa $HOME/.cvsrc
                   1478: File containing a list of implicit options to pass to certain commands.
                   1479: This file is read on startup unless the
                   1480: .Fl f
                   1481: option is specified.
                   1482: .It Pa $CVSROOT/CVSROOT
                   1483: Directory containing repository administrative files.
                   1484: .It Pa $CVSROOT/CVSROOT/loginfo
                   1485: File containing associations between modules and handlers for
                   1486: post-commit logging.
1.1       jfb      1487: .El
                   1488: .Sh SEE ALSO
                   1489: .Xr diff 1 ,
1.15      jmc      1490: .Xr gzip 1 ,
1.1       jfb      1491: .Xr patch 1 ,
1.8       jmc      1492: .Xr rcs 1 ,
1.16      jmc      1493: .Xr cvsrc 5 ,
1.35      jmc      1494: .Xr cvsintro 7 ,
1.1       jfb      1495: .Xr cvsd 8
1.8       jmc      1496: .Sh HISTORY
                   1497: The OpenCVS project is a BSD-licensed rewrite of the original
                   1498: Concurrent Versioning System written by Jean-Francois Brousseau.
                   1499: The original CVS code was written in large parts by Dick Grune,
                   1500: Brian Berliner and Jeff Polk.
                   1501: .Sh AUTHORS
                   1502: .An Jean-Francois Brousseau
                   1503: .An Vincent Labrecque
                   1504: .An Joris Vink
1.43      jfb      1505: .An Xavier Santolaria
1.2       jfb      1506: .Sh CAVEATS
                   1507: This CVS implementation does not fully conform to the GNU CVS version.
1.3       jfb      1508: In some cases, this was done explicitly because GNU CVS has inconsistencies
1.2       jfb      1509: or ambiguous behaviour.
1.3       jfb      1510: Some things have also been left out or modified to enhance the overall
                   1511: security of the system.
                   1512: .Pp
                   1513: Among other things, support for the pserver connection mechanism has been
                   1514: dropped because of security issues with the authentication mechanism.