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

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