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