Annotation of src/usr.bin/cvs/cvs.1, Revision 1.6
1.3 jfb 1: .\" $OpenBSD$
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
49: The following options are supported:
50: .Bl -tag -width Ds
51: .It Fl d Ar root
52: Use
53: .Ar root
54: as the path to the root directory of the CVS repository.
55: The value must specify an absolute path.
56: .It Fl e Ar editor
57: Use the program
58: .Ar editor
59: whenever editing log information.
60: This option overrides the environment variables CVSEDITOR, VISUAL and EDITOR.
61: .It Fl f
62: Do not read the contents of the user's .cvsrc file on startup.
63: .It Fl l
64: Suppress logging of history information.
65: .It Fl Q
66: Be extra quiet.
67: Only error messages will be displayed.
68: .It Fl q
69: Be quiet about reporting.
70: .It Fl v
71: Display version information and exit.
72: .El
73: .Sh COMMANDS
1.3 jfb 74: The following commands are supported by
75: .Nm .
76: .Bl -tag -width "xxxxxxxxxxxxxxxxx"
77: .It Xo Sy add Op Fl m Ar msg
1.1 jfb 78: .Ar file Op ...
1.3 jfb 79: .Xc
1.1 jfb 80: Before a file is known to CVS, it must be added to the repository using
81: this command.
82: Adding a file does not actually publish the contents of the
83: file, so you must commit the first revision in order to let other users
84: see the file with the
1.3 jfb 85: .Sy update
1.4 jfb 86: or
87: .Sy checkout
88: commands.
1.1 jfb 89: .Pp
1.3 jfb 90: .It Xo Sy commit
91: .Op Fl flnR
1.1 jfb 92: .Op Fl m Ar msg
1.3 jfb 93: .Op Fl F Ar logfile
94: .Op Fl r Ar rev
1.4 jfb 95: .Op Ar file ...
1.3 jfb 96: .Xc
1.1 jfb 97: The
1.3 jfb 98: .Sy commit
1.1 jfb 99: command is used to send local changes back to the server and update the
100: repository's information to reflect the changes.
101: .Pp
1.3 jfb 102: .It Xo Sy diff Op Fl cilu
103: .Op Fl D Ar date
104: .Op Fl r Ar rev
1.4 jfb 105: .Op Ar file ...
1.3 jfb 106: .Xc
107: The
108: .Sy diff
109: command is very similar to the
110: .Xr diff 1
1.5 jfb 111: program, except that the differential comparisons that it generates are
1.3 jfb 112: between local or remote revisions of files stored in the CVS repository.
113: .It Xo Sy update
114: .Op Fl ACdP
1.4 jfb 115: .Op Ar file ...
1.3 jfb 116: .Xc
117: The
118: .Sy update
119: command is used to merge any of the changes that have occured on the remote
120: repository into the local one where the command was run.
121: .Pp
122: The
123: .Fl A
124: flag resets any sticky tags, dates or kopts that have been set on the tree.
125: The
126: .Fl l
127: flag is used to specify a local change only and disables the recursive
128: behaviour.
129: The
130: .Fl P
131: flag causes
132: .Nm
133: to prune any directories that have become empty as a result of the update.
134: .It Sy version
135: Causes
136: .Nm
137: to print its version information.
138: If this command is issued within a local copy of a repository located on
139: an other machine,
140: .Nm
141: will also connect to the server and ask it to print its version information.
1.1 jfb 142: .El
143: .Sh FILES
144: .Bl -tag -width Ds
145: .It Pa $HOME/.cvsrc
146: File containing a list of implicit options to pass to certain commands.
147: This file is read on startup unless the
148: .Fl f
149: option is specified.
150: .It Pa $CVSROOT/CVSROOT
151: Directory containing repository administrative files.
152: .It Pa $CVSROOT/CVSROOT/loginfo
153: File containing associations between modules and handlers for
154: post-commit logging.
155: .El
156: .Sh ENVIRONMENT
157: .Bl -tag -width CVS_CLIENT_LOG
158: .It Ev CVSROOT
159: When set, this variable should contain the string pointing to the root
160: directory of the CVS repository.
161: The contents of this variable are ignored when the
162: .Fl d
163: option is given or if `Root' files exist in the checked-out copy.
164: .It Ev CVS_RSH
165: Name of the program to use when connecting to the server through a remote
166: shell.
167: The default is to use the
168: .Xr ssh 1
169: program.
170: .It Ev CVS_SERVER
171: If set, gives the name of the program to invoke as a
172: .Nm
173: server when using remote shell.
174: The default is to use `cvs'.
175: .It Ev CVSEDITOR
176: Name of the editor to use when editing commit messages.
177: Checked before EDITOR and VISUAL.
178: .It Ev EDITOR
179: .It Ev VISUAL
180: .It Ev CVS_CLIENT_LOG
181: This variable enables logging of all communications between the client and
182: server when running in non-local mode.
183: If set, this environment variable must contain a base path from which two
184: paths will be generated by appending ".in" to the value for the server's
185: input and ".out" for the server's output.
186: .El
187: .Sh SEE ALSO
188: .Xr rcs 1 ,
189: .Xr diff 1 ,
190: .Xr patch 1 ,
191: .Xr cvsd 8
1.2 jfb 192: .Sh CAVEATS
193: This CVS implementation does not fully conform to the GNU CVS version.
1.3 jfb 194: In some cases, this was done explicitly because GNU CVS has inconsistencies
1.2 jfb 195: or ambiguous behaviour.
1.3 jfb 196: Some things have also been left out or modified to enhance the overall
197: security of the system.
198: .Pp
199: Among other things, support for the pserver connection mechanism has been
200: dropped because of security issues with the authentication mechanism.
1.1 jfb 201: .Sh HISTORY
202: The OpenCVS project is a BSD-licensed rewrite of the original
203: Concurrent Versioning System written by Jean-Francois Brousseau.
204: The original CVS code was written in large parts by Dick Grune,
205: Brian Berliner and Jeff Polk.
1.2 jfb 206: .Sh AUTHORS
207: .An Jean-Francois Brousseau
208: .An Vincent Labrecque
1.6 ! jfb 209: .An Joris Vink