blob: 16cab49d59be8c56c6d3b89b4735520171cb01b2 [file] [log] [blame]
rsc67075c32005-01-14 05:28:38 +00001.TH CVS 1
2.SH NAME
3cvs \- introduction using plan9port CVS repository
4.SH SYNOPSIS
5.B cvs
6.B -d
7.B :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs login
8.PP
9.B cvs
10.B -d
11.B :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs checkout plan9
12.PP
13.B cvs
14.B update
15[
16.B -dP
17]
18[
19.I path ...
20]
21.PP
22.B cvs
23.B status
24[
25.I path ...
26]
27.PP
28.B cvs
29.B diff
30[
31.B -D
32.I date
33]
34[
35.B -r
36.I revision
37]
38[
rscb7f251f2005-01-14 22:23:44 +000039.B -cu
rsc67075c32005-01-14 05:28:38 +000040]
41[
42.I path ...
43]
rsc8ce709a2005-01-18 06:02:09 +000044.PP
45.B web
46.B http://cvs.pdos.lcs.mit.edu/cvs/plan9/
rsc67075c32005-01-14 05:28:38 +000047.SH DESCRIPTION
48The master source tree for Plan 9 from User Space is maintained
49using the source control system CVS
50as a poor substitute for Plan 9's
51\fIreplica\fR(8) and dump file system.
52.PP
53The first argument to
54.I cvs
55is a command, which determines the form of the rest of the command line.
56.PP
57The
58.B login
59command authenticates to the remote server and records your password in
60.BR $HOME/.cvspass .
61Use an empty password: when prompted, type a newline.
62.PP
63The
64.B checkout
65command downloads a copy of the tree into the directory
66.BR plan9 ,
67which it will create.
68The argument
69.B plan9
70is both the name of the created directory and the name used to
71tell the server which tree you want.
72If you want to use a different name locally, rename the directory
73after running the command.
74.PP
75From directories within the
76.B plan9
77tree, the awkward
78.B -d
79is no longer necessary.
80.PP
81.I Cvs
82.I update
83incorporates recent changes from the CVS tree
84into the local copy.
85If the changes cannot be merged because of locally-made changes
86that are in the way,
87.I cvs
88will leave a note in the file showing the differences between the local
89and remote file.
90.PP
91The
92.B -d
93flag to
94.I cvs
95.I update
96causes
97it to update subdirectories as well.
98The
99.B -P
100flag causes
101.I cvs
102.I update
103to remove directories that have been emptied.
104.PP
105.I Cvs
106.I status
107displays the version number (also called a revision number)
108for the local copy of the named files,
109as well as the number of the most recent version on the server.
110Version numbers are of the form
111.RI 1. n \fR,
112where
113.I n
114is a sequence number starting at 1.
115.PP
116.I Cvs
117.I diff
118runs Unix's
119.IR diff (1)
120to compare files in the local tree with the corresponding files in
121the CVS tree.
122By default it compares against the version that was most recently
123incorporated into the local tree.
124The
125.B -r
126flag specifies an alternate version to compare against.
127The special revision
128.B HEAD
129refers to the most recent version on the server.
130The
131.B -D
132flag instructs
133.I cvs
134.I diff
135to use the version as of the given date.
136Almost any imaginable date format is acceptable:
137.BR 20050110 ,
138.BR 1/10/2005 ,
139.B 'Jan
140.BR 10' ,
141.BR yesterday ,
142.B 'last
143.BR week ',
144.B 'two
145.B days
146.BR ago' ,
147.B 'a
148.B fortnight
rscc2304712005-01-14 22:21:40 +0000149.BR ago' ,
rsc67075c32005-01-14 05:28:38 +0000150and so on.
151If two
152.B -r
153or
154.B -D
155options are given,
156those two versions are compared, and the local copy is ignored.
157.PP
rscb7f251f2005-01-14 22:23:44 +0000158.I Cvs
159.I diff
160passes the
161.B -u
162or
163.B -c
164options to the Unix
165.IR diff .
166.PP
rsc67075c32005-01-14 05:28:38 +0000167If you download a tar file from the web
168instead of checking out the tree with CVS,
169you can still use the
170.I update
171and
172.I diff
173commands to stay up-to-date and to see what has changed.
174You will need to run the
175.I cvs
176.I login
177command first to create your
178.B .cvspass
179file.
rsc8ce709a2005-01-18 06:02:09 +0000180.PP
181The CVS tree can be inspected on the web at
182.HR http://cvs.pdos.lcs.mit.edu/cvs/plan9/ "" .
rsc67075c32005-01-14 05:28:38 +0000183.SH EXAMPLES
184Incorporate any changes made to the CVS tree since
185the last check out or update:
186.IP
187.EX
188cd $PLAN9
189cvs up -dP
190.EE
191.PP
192Compare
rscadc93f62005-01-14 17:37:50 +0000193.I libdraw
rsc67075c32005-01-14 05:28:38 +0000194against its source from January 1, 2005:
195.IP
196.EX
197cd $PLAN9/src/libdraw
198cvs diff -D20050101
199.EE
200.PP
201Check the entire tree for changes made locally:
202.IP
203.EX
204cd $PLAN9
205cvs diff
206.EE
207.PP
208Check the entire tree for changes between the local version and
209the most recent in the CVS tree.
210This does not indicate which changes are local ones
211and which are changes to the CVS tree that have not yet been
212incorporated into the local tree.
213.IP
214.EX
215cd $PLAN9
216cvs diff -r HEAD
217.EE
rsc41971252005-03-18 21:59:32 +0000218.PP
219Make
220.I cvs
221less chatty by setting the global
222.B -q
223flag implicitly on every CVS command:
224.EX
225cd $HOME
226echo 'cvs -q' > .cvsrc
227.EE
rsc67075c32005-01-14 05:28:38 +0000228.SH FILES
229.TP
230.B CVS
231directory containing CVS metadata for parent
232.TP
233.B .cvsignore
234list of files and wildcards to exclude from CVS operations in this directory
235.SH SEE ALSO
236Unix's
rsc638f5c02005-01-14 20:12:19 +0000237\fIcvs\fR(1),
rsc8ce709a2005-01-18 06:02:09 +0000238.HR http://www.cvshome.org/
239.PP
240.HR http://cvs.pdos.lcs.mit.edu/cvs/plan9/
rsc67075c32005-01-14 05:28:38 +0000241.SH BUGS
242The CVS server is a read-only public copy of a private tree.
243The dates on versions reflect the date the changes were made in the
244private tree, not the date the change was made public.
rsc1574caa2005-01-14 17:43:41 +0000245.PP
246On Mac OS X,
247.I cvs
248will complain during a checkout that some files in
249.B $PLAN9/troff/font/devutf
250are ``in the way.''
251This is due to the Mac case-insensitive file system
252and the fact that troff has some (not often used)
rscfe1a0272005-01-16 21:30:01 +0000253files whose names differ only in case.