Blob


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