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

1.12      jmc         1: .\"    $OpenBSD: cvs.1,v 1.11 2004/12/07 23:07:42 jmc Exp $
1.1       jfb         2: .\"
                      3: .\" Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
                      4: .\" All rights reserved.
                      5: .\"
                      6: .\" Redistribution and use in source and binary forms, with or without
                      7: .\" modification, are permitted provided that the following conditions
                      8: .\" are met:
                      9: .\"
                     10: .\" 1. Redistributions of source code must retain the above copyright
                     11: .\"    notice, this list of conditions and the following disclaimer.
                     12: .\" 2. The name of the author may not be used to endorse or promote products
                     13: .\"    derived from this software without specific prior written permission.
                     14: .\"
                     15: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
                     16: .\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
                     17: .\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
                     18: .\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
                     19: .\" EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLUDING, BUT NOT LIMITED TO,
                     20: .\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
                     21: .\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
                     22: .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
                     23: .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
                     24: .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     25: .\"
                     26: .Dd May 16, 2004
                     27: .Dt CVS 1
                     28: .Os
                     29: .Sh NAME
                     30: .Nm cvs
1.3       jfb        31: .Nd OpenCVS Concurrent Versioning System client
1.1       jfb        32: .Sh SYNOPSIS
                     33: .Nm
                     34: .Op Fl flQqv
                     35: .Op Fl d Ar root
                     36: .Op Fl e Ar editor
                     37: .Ar command Op Ar ...
                     38: .Sh DESCRIPTION
                     39: The
                     40: .Nm
                     41: program acts as both client and server for the use of and administration of
                     42: a CVS source repository.
                     43: CVS is used to maintain version information on files that are kept in a
                     44: repository.
                     45: Although it is more commonly used to track changes in source code, there
                     46: are no real limitations to the type of files that you can store in a
                     47: repository.
                     48: .Pp
1.7       jfb        49: Unless the
                     50: .Fl f
                     51: option is specified,
                     52: .Nm
                     53: reads its startup configuration file
                     54: .Pa .cvsrc
                     55: from the home directory of the user who invoked it.
                     56: This file is used to specify implicit options passed to
                     57: .Nm
                     58: or one of its commands whenever it is invoked.
                     59: Each command should be specified on a separate line along with the arguments.
                     60: For example, the following two lines:
                     61: .Pp
                     62: .Bl -item -compact -offset indent
                     63: .It
                     64: cvs -q
                     65: .It
                     66: diff -u
                     67: .El
                     68: .Pp
                     69: specify that
                     70: .Nm
                     71: should always run in quiet mode and the
1.11      jmc        72: .Ic diff
1.7       jfb        73: command should always produce unified output.
                     74: .Pp
1.1       jfb        75: The following options are supported:
                     76: .Bl -tag -width Ds
                     77: .It Fl d Ar root
                     78: Use
                     79: .Ar root
                     80: as the path to the root directory of the CVS repository.
                     81: The value must specify an absolute path.
                     82: .It Fl e Ar editor
                     83: Use the program
                     84: .Ar editor
                     85: whenever editing log information.
1.8       jmc        86: This option overrides the environment variables CVSEDITOR, VISUAL, and EDITOR.
1.1       jfb        87: .It Fl f
1.7       jfb        88: Do not read the user's configuration file on startup.
1.1       jfb        89: .It Fl l
                     90: Suppress logging of history information.
                     91: .It Fl Q
                     92: Be extra quiet.
                     93: Only error messages will be displayed.
                     94: .It Fl q
                     95: Be quiet about reporting.
                     96: .It Fl v
                     97: Display version information and exit.
                     98: .El
                     99: .Sh COMMANDS
1.3       jfb       100: The following commands are supported by
                    101: .Nm .
1.7       jfb       102: .Bl -tag -width "xxxxxxxxxxxx"
1.11      jmc       103: .It Xo Ic add Op Fl m Ar msg
1.1       jfb       104: .Ar file Op ...
1.3       jfb       105: .Xc
1.7       jfb       106: .Pp
1.1       jfb       107: Before a file is known to CVS, it must be added to the repository using
                    108: this command.
                    109: Adding a file does not actually publish the contents of the
1.7       jfb       110: file, so you must
1.11      jmc       111: .Ic commit
1.7       jfb       112: the first revision in order to let other users see the file with the
1.11      jmc       113: .Ic update
1.4       jfb       114: or
1.11      jmc       115: .Ic checkout
1.4       jfb       116: commands.
1.1       jfb       117: .Pp
1.7       jfb       118: Although adding a file does not involve a log message, it is possible to
                    119: specify one to include with the action, using the
                    120: .Fl m
                    121: option.
1.13    ! jmc       122: .Pp
        !           123: Aliases:
        !           124: .Ic ad ,
        !           125: .Ic new .
        !           126: .It Ic admin
        !           127: Administration front-end for
        !           128: .Xr rcs 1 .
        !           129: .Pp
        !           130: Aliases:
        !           131: .Ic adm ,
        !           132: .Ic rcs .
        !           133: .It Ic annotate
        !           134: Show last revision where each line was modified.
        !           135: .Pp
        !           136: Aliases:
        !           137: .Ic ann .
1.11      jmc       138: .It Xo Ic checkout
1.7       jfb       139: .Op Fl c
                    140: .Op Ar module ...
                    141: .Xc
                    142: .Pp
                    143: The
1.11      jmc       144: .Ic checkout
1.7       jfb       145: command is used to create a local copy of one or more modules present on the
                    146: target CVS repository.
1.13    ! jmc       147: .Pp
        !           148: Aliases:
        !           149: .Ic co ,
        !           150: .Ic get .
1.11      jmc       151: .It Xo Ic commit
1.3       jfb       152: .Op Fl flnR
1.8       jmc       153: .Op Fl F Ar logfile
1.1       jfb       154: .Op Fl m Ar msg
1.3       jfb       155: .Op Fl r Ar rev
1.4       jfb       156: .Op Ar file ...
1.3       jfb       157: .Xc
1.7       jfb       158: .Pp
1.1       jfb       159: The
1.11      jmc       160: .Ic commit
1.1       jfb       161: command is used to send local changes back to the server and update the
                    162: repository's information to reflect the changes.
1.13    ! jmc       163: .Pp
        !           164: Aliases:
        !           165: .Ic ci ,
        !           166: .Ic com .
1.11      jmc       167: .It Xo Ic diff Op Fl cilu
1.3       jfb       168: .Op Fl D Ar date
                    169: .Op Fl r Ar rev
1.4       jfb       170: .Op Ar file ...
1.3       jfb       171: .Xc
1.7       jfb       172: .Pp
1.3       jfb       173: The
1.11      jmc       174: .Ic diff
1.3       jfb       175: command is very similar to the
                    176: .Xr diff 1
1.5       jfb       177: program, except that the differential comparisons that it generates are
1.3       jfb       178: between local or remote revisions of files stored in the CVS repository.
1.13    ! jmc       179: .Pp
        !           180: Aliases:
        !           181: .Ic di ,
        !           182: .Ic dif .
        !           183: .It Ic edit
        !           184: Get ready to edit a watched file.
        !           185: .It Ic editors
        !           186: See who is editing a watched file.
        !           187: .It Ic export
        !           188: Export sources from CVS;
        !           189: similar to
        !           190: .Ic checkout .
        !           191: .Pp
        !           192: Aliases:
        !           193: .Ic ex ,
        !           194: .Ic exp .
        !           195: .It Ic history
        !           196: Show repository access history.
        !           197: .Pp
        !           198: Aliases:
        !           199: .Ic hi ,
        !           200: .Ic his .
        !           201: .It Ic import
        !           202: Import sources into CVS using vendor branches.
        !           203: .Pp
        !           204: Aliases:
        !           205: .Ic im ,
        !           206: .Ic imp .
        !           207: .It Ic init
        !           208: Create a CVS repository if it doesn't exist.
        !           209: .It Ic kserver
        !           210: Start a Kerberos authentication server.
        !           211: .It Ic log
        !           212: Print out history information for files.
        !           213: .Pp
        !           214: Aliases:
        !           215: .Ic lo .
        !           216: .It Ic login
        !           217: Prompt for password for authenticating server.
        !           218: .It Ic logout
        !           219: Remove entry in .cvspass for remote repository.
        !           220: .It Ic rdiff
        !           221: Create
        !           222: .Xr patch 1
        !           223: format diffs between releases.
        !           224: .It Ic release
        !           225: Indicate that a module is no longer in use.
        !           226: .It Ic remove
        !           227: Remove an entry from the repository.
        !           228: .It Ic rlog
        !           229: Print out history information for a module.
        !           230: .It Ic rtag
        !           231: Add a symbolic link to a module.
        !           232: .It Ic server
        !           233: Server mode.
        !           234: .It Ic status
        !           235: Display status information on checked out files.
        !           236: .Pp
        !           237: Aliases:
        !           238: .Ic st ,
        !           239: .Ic stat .
        !           240: .It Ic tag
        !           241: Add a symbolic tag to checked out version of files.
        !           242: .Pp
        !           243: Aliases:
        !           244: .Ic ta ,
        !           245: .Ic freeze .
        !           246: .It Ic unedit
        !           247: Undo an
        !           248: .Ic edit
        !           249: command.
1.11      jmc       250: .It Xo Ic update
1.3       jfb       251: .Op Fl ACdP
1.4       jfb       252: .Op Ar file ...
1.3       jfb       253: .Xc
1.7       jfb       254: .Pp
1.3       jfb       255: The
1.11      jmc       256: .Ic update
1.3       jfb       257: command is used to merge any of the changes that have occured on the remote
                    258: repository into the local one where the command was run.
                    259: .Pp
                    260: The
                    261: .Fl A
1.8       jmc       262: flag resets any sticky tags, dates, or kopts that have been set on the tree.
1.3       jfb       263: The
                    264: .Fl l
                    265: flag is used to specify a local change only and disables the recursive
                    266: behaviour.
                    267: The
                    268: .Fl P
                    269: flag causes
                    270: .Nm
                    271: to prune any directories that have become empty as a result of the update.
1.13    ! jmc       272: .Pp
        !           273: Aliases:
        !           274: .Ic up ,
        !           275: .Ic upd .
1.11      jmc       276: .It Ic version
1.3       jfb       277: Causes
                    278: .Nm
                    279: to print its version information.
                    280: If this command is issued within a local copy of a repository located on
1.12      jmc       281: another machine,
1.3       jfb       282: .Nm
                    283: will also connect to the server and ask it to print its version information.
1.13    ! jmc       284: .Pp
        !           285: Aliases:
        !           286: .Ic ve ,
        !           287: .Ic ver .
        !           288: .It Ic watch
        !           289: Set watches.
        !           290: .It Ic watchers
        !           291: See who is watching a file.
1.1       jfb       292: .El
                    293: .Sh ENVIRONMENT
                    294: .Bl -tag -width CVS_CLIENT_LOG
1.8       jmc       295: .It Ev CVS_CLIENT_LOG
                    296: This variable enables logging of all communications between the client and
                    297: server when running in non-local mode.
                    298: If set, this environment variable must contain a base path from which two
                    299: paths will be generated by appending ".in" to the value for the server's
                    300: input and ".out" for the server's output.
1.1       jfb       301: .It Ev CVS_RSH
                    302: Name of the program to use when connecting to the server through a remote
                    303: shell.
                    304: The default is to use the
                    305: .Xr ssh 1
                    306: program.
                    307: .It Ev CVS_SERVER
                    308: If set, gives the name of the program to invoke as a
                    309: .Nm
                    310: server when using remote shell.
                    311: The default is to use `cvs'.
                    312: .It Ev CVSEDITOR
                    313: Name of the editor to use when editing commit messages.
1.8       jmc       314: Checked before
                    315: .Ev EDITOR
                    316: and
                    317: .Ev VISUAL .
                    318: .It Ev CVSROOT
                    319: When set, this variable should contain the string pointing to the root
                    320: directory of the CVS repository.
                    321: The contents of this variable are ignored when the
                    322: .Fl d
                    323: option is given or if `Root' files exist in the checked-out copy.
1.1       jfb       324: .It Ev EDITOR
1.9       jmc       325: Name of the editor to use when editing commit messages.
                    326: This is traditionally a line-oriented editor,
                    327: such as
                    328: .Xr ex 1 .
1.1       jfb       329: .It Ev VISUAL
1.9       jmc       330: Name of the editor to use when editing commit messages.
                    331: This is traditionally a screen-oriented editor,
                    332: such as
                    333: .Xr vi 1 .
1.8       jmc       334: .El
                    335: .Sh FILES
                    336: .Bl -tag -width Ds
                    337: .It Pa $HOME/.cvsrc
                    338: File containing a list of implicit options to pass to certain commands.
                    339: This file is read on startup unless the
                    340: .Fl f
                    341: option is specified.
                    342: .It Pa $CVSROOT/CVSROOT
                    343: Directory containing repository administrative files.
                    344: .It Pa $CVSROOT/CVSROOT/loginfo
                    345: File containing associations between modules and handlers for
                    346: post-commit logging.
1.1       jfb       347: .El
                    348: .Sh SEE ALSO
                    349: .Xr diff 1 ,
                    350: .Xr patch 1 ,
1.8       jmc       351: .Xr rcs 1 ,
1.1       jfb       352: .Xr cvsd 8
1.8       jmc       353: .Sh HISTORY
                    354: The OpenCVS project is a BSD-licensed rewrite of the original
                    355: Concurrent Versioning System written by Jean-Francois Brousseau.
                    356: The original CVS code was written in large parts by Dick Grune,
                    357: Brian Berliner and Jeff Polk.
                    358: .Sh AUTHORS
                    359: .An Jean-Francois Brousseau
                    360: .An Vincent Labrecque
                    361: .An Joris Vink
1.2       jfb       362: .Sh CAVEATS
                    363: This CVS implementation does not fully conform to the GNU CVS version.
1.3       jfb       364: In some cases, this was done explicitly because GNU CVS has inconsistencies
1.2       jfb       365: or ambiguous behaviour.
1.3       jfb       366: Some things have also been left out or modified to enhance the overall
                    367: security of the system.
                    368: .Pp
                    369: Among other things, support for the pserver connection mechanism has been
                    370: dropped because of security issues with the authentication mechanism.