1 | .lf 1 ./rcsfile.5in |
---|
2 | .\" Set p to 1 if your formatter can handle pic output. |
---|
3 | .if t .nr p 1 |
---|
4 | .de Id |
---|
5 | .ds Rv \\$3 |
---|
6 | .ds Dt \\$4 |
---|
7 | .. |
---|
8 | .Id $Id: rcsfile.5,v 1.1.1.1 1996-10-04 05:52:42 ghudson Exp $ |
---|
9 | .ds r \s-1RCS\s0 |
---|
10 | .if n .ds - \%-- |
---|
11 | .if t .ds - \(em |
---|
12 | .TH RCSFILE 5 \*(Dt GNU |
---|
13 | .SH NAME |
---|
14 | rcsfile \- format of RCS file |
---|
15 | .SH DESCRIPTION |
---|
16 | An \*r file's |
---|
17 | contents are described by the grammar |
---|
18 | below. |
---|
19 | .PP |
---|
20 | The text is free format: space, backspace, tab, newline, vertical |
---|
21 | tab, form feed, and carriage return (collectively, |
---|
22 | .IR "white space") |
---|
23 | have no significance except in strings. |
---|
24 | However, white space cannot appear within an id, num, or sym, |
---|
25 | and an \*r file must end with a newline. |
---|
26 | .PP |
---|
27 | Strings are enclosed by |
---|
28 | .BR @ . |
---|
29 | If a string contains a |
---|
30 | .BR @ , |
---|
31 | it must be doubled; |
---|
32 | otherwise, strings can contain arbitrary binary data. |
---|
33 | .PP |
---|
34 | The meta syntax uses the following conventions: `|' (bar) separates |
---|
35 | alternatives; `{' and `}' enclose optional phrases; `{' and `}*' enclose |
---|
36 | phrases that can be repeated zero or more times; |
---|
37 | `{' and '}+' enclose phrases that must appear at least once and can be |
---|
38 | repeated; |
---|
39 | Terminal symbols are in |
---|
40 | .BR boldface ; |
---|
41 | nonterminal symbols are in |
---|
42 | .IR italics . |
---|
43 | .LP |
---|
44 | .nr w \w'\f3deltatext\fP ' |
---|
45 | .nr y \w'\f3newphrase\fP ' |
---|
46 | .if \nw<\ny .nr w \ny |
---|
47 | .nr x \w'\f3branches\fP' |
---|
48 | .nr y \w'{ \f3comment\fP' |
---|
49 | .if \nx<\ny .nr x \ny |
---|
50 | .nr y \w'\f3{ branch\fP' |
---|
51 | .if \nx<\ny .nr x \ny |
---|
52 | .ta \nwu +\w'::= 'u +\nxu+\w' 'u |
---|
53 | .fc # |
---|
54 | .nf |
---|
55 | \f2rcstext\fP ::= \f2admin\fP {\f2delta\fP}* \f2desc\fP {\f2deltatext\fP}* |
---|
56 | .LP |
---|
57 | \f2admin\fP ::= \f3head\fP {\f2num\fP}\f3;\fP |
---|
58 | { \f3branch\fP {\f2num\fP}\f3;\fP } |
---|
59 | \f3access\fP {\f2id\fP}*\f3;\fP |
---|
60 | \f3symbols\fP {\f2sym\fP \f3:\fP \f2num\fP}*\f3;\fP |
---|
61 | \f3locks\fP {\f2id\fP \f3:\fP \f2num\fP}*\f3;\fP {\f3strict ;\fP} |
---|
62 | { \f3comment\fP {\f2string\fP}\f3;\fP } |
---|
63 | { \f3expand\fP {\f2string\fP}\f3;\fP } |
---|
64 | { \f2newphrase\fP }* |
---|
65 | .LP |
---|
66 | \f2delta\fP ::= \f2num\fP |
---|
67 | \f3date\fP \f2num\fP\f3;\fP |
---|
68 | \f3author\fP \f2id\fP\f3;\fP |
---|
69 | \f3state\fP {\f2id\fP}\f3;\fP |
---|
70 | \f3branches\fP {\f2num\fP}*\f3;\fP |
---|
71 | \f3next\fP {\f2num\fP}\f3;\fP |
---|
72 | { \f2newphrase\fP }* |
---|
73 | .LP |
---|
74 | \f2desc\fP ::= \f3desc\fP \f2string\fP |
---|
75 | .LP |
---|
76 | \f2deltatext\fP ::= \f2num\fP |
---|
77 | \f3log\fP \f2string\fP |
---|
78 | { \f2newphrase\fP }* |
---|
79 | \f3text\fP \f2string\fP |
---|
80 | .LP |
---|
81 | \f2num\fP ::= {\f2digit\fP | \f3.\fP}+ |
---|
82 | .LP |
---|
83 | \f2digit\fP ::= \f30\fP | \f31\fP | \f32\fP | \f33\fP | \f34\fP | \f35\fP | \f36\fP | \f37\fP | \f38\fP | \f39\fP |
---|
84 | .LP |
---|
85 | \f2id\fP ::= {\f2num\fP} \f2idchar\fP {\f2idchar\fP | \f2num\fP}* |
---|
86 | .LP |
---|
87 | \f2sym\fP ::= {\f2digit\fP}* \f2idchar\fP {\f2idchar\fP | \f2digit\fP}* |
---|
88 | .LP |
---|
89 | \f2idchar\fP ::= any visible graphic character except \f2special\fP |
---|
90 | .LP |
---|
91 | \f2special\fP ::= \f3$\fP | \f3,\fP | \f3.\fP | \f3:\fP | \f3;\fP | \f3@\fP |
---|
92 | .LP |
---|
93 | \f2string\fP ::= \f3@\fP{any character, with \f3@\fP doubled}*\f3@\fP |
---|
94 | .LP |
---|
95 | \f2newphrase\fP ::= \f2id\fP \f2word\fP* \f3;\fP |
---|
96 | .LP |
---|
97 | \f2word\fP ::= \f2id\fP | \f2num\fP | \f2string\fP | \f3:\fP |
---|
98 | .fi |
---|
99 | .PP |
---|
100 | Identifiers are case sensitive. Keywords are in lower case only. |
---|
101 | The sets of keywords and identifiers can overlap. |
---|
102 | In most environments \*r uses the \s-1ISO\s0 8859/1 encoding: |
---|
103 | visible graphic characters are codes 041\-176 and 240\-377, |
---|
104 | and white space characters are codes 010\-015 and 040. |
---|
105 | .PP |
---|
106 | Dates, which appear after the |
---|
107 | .B date |
---|
108 | keyword, are of the form |
---|
109 | \f2Y\fP\f3.\fP\f2mm\fP\f3.\fP\f2dd\fP\f3.\fP\f2hh\fP\f3.\fP\f2mm\fP\f3.\fP\f2ss\fP, |
---|
110 | where |
---|
111 | .I Y |
---|
112 | is the year, |
---|
113 | .I mm |
---|
114 | the month (01\-12), |
---|
115 | .I dd |
---|
116 | the day (01\-31), |
---|
117 | .I hh |
---|
118 | the hour (00\-23), |
---|
119 | .I mm |
---|
120 | the minute (00\-59), |
---|
121 | and |
---|
122 | .I ss |
---|
123 | the second (00\-60). |
---|
124 | .I Y |
---|
125 | contains just the last two digits of the year |
---|
126 | for years from 1900 through 1999, |
---|
127 | and all the digits of years thereafter. |
---|
128 | Dates use the Gregorian calendar; times use UTC. |
---|
129 | .PP |
---|
130 | The |
---|
131 | .I newphrase |
---|
132 | productions in the grammar are reserved for future extensions |
---|
133 | to the format of \*r files. |
---|
134 | No |
---|
135 | .I newphrase |
---|
136 | will begin with any keyword already in use. |
---|
137 | .PP |
---|
138 | The |
---|
139 | .I delta |
---|
140 | nodes form a tree. All nodes whose numbers |
---|
141 | consist of a single pair |
---|
142 | (e.g., 2.3, 2.1, 1.3, etc.) |
---|
143 | are on the trunk, and are linked through the |
---|
144 | .B next |
---|
145 | field in order of decreasing numbers. |
---|
146 | The |
---|
147 | .B head |
---|
148 | field in the |
---|
149 | .I admin |
---|
150 | node points to the head of that sequence (i.e., contains |
---|
151 | the highest pair). |
---|
152 | The |
---|
153 | .B branch |
---|
154 | node in the admin node indicates the default |
---|
155 | branch (or revision) for most \*r operations. |
---|
156 | If empty, the default |
---|
157 | branch is the highest branch on the trunk. |
---|
158 | .PP |
---|
159 | All |
---|
160 | .I delta |
---|
161 | nodes whose numbers consist of |
---|
162 | .RI 2 n |
---|
163 | fields |
---|
164 | .RI ( n \(>=2) |
---|
165 | (e.g., 3.1.1.1, 2.1.2.2, etc.) |
---|
166 | are linked as follows. |
---|
167 | All nodes whose first |
---|
168 | .RI 2 n \-1 |
---|
169 | number fields are identical are linked through the |
---|
170 | .B next |
---|
171 | field in order of increasing numbers. |
---|
172 | For each such sequence, |
---|
173 | the |
---|
174 | .I delta |
---|
175 | node whose number is identical to the first |
---|
176 | .RI 2 n \-2 |
---|
177 | number fields of the deltas on that sequence is called the branchpoint. |
---|
178 | The |
---|
179 | .B branches |
---|
180 | field of a node contains a list of the |
---|
181 | numbers of the first nodes of all sequences for which it is a branchpoint. |
---|
182 | This list is ordered in increasing numbers. |
---|
183 | .LP |
---|
184 | The following diagram shows an example of an \*r file's organization. |
---|
185 | .if !\np \{\ |
---|
186 | .nf |
---|
187 | .vs 12 |
---|
188 | .ne 36 |
---|
189 | .cs 1 20 |
---|
190 | .eo |
---|
191 | |
---|
192 | Head |
---|
193 | | |
---|
194 | | |
---|
195 | v / \ |
---|
196 | --------- / \ |
---|
197 | / \ / \ | | / \ / \ |
---|
198 | / \ / \ | 2.1 | / \ / \ |
---|
199 | / \ / \ | | / \ / \ |
---|
200 | /1.2.1.3\ /1.3.1.1\ | | /1.2.2.2\ /1.2.2.1.1.1\ |
---|
201 | --------- --------- --------- --------- ------------- |
---|
202 | ^ ^ | ^ ^ |
---|
203 | | | | | | |
---|
204 | | | v | | |
---|
205 | / \ | --------- / \ | |
---|
206 | / \ | \ 1.3 / / \ | |
---|
207 | / \ ---------\ / / \----------- |
---|
208 | /1.2.1.1\ \ / /1.2.2.1\ |
---|
209 | --------- \ / --------- |
---|
210 | ^ | ^ |
---|
211 | | | | |
---|
212 | | v | |
---|
213 | | --------- | |
---|
214 | | \ 1.2 / | |
---|
215 | ----------------------\ /--------- |
---|
216 | \ / |
---|
217 | \ / |
---|
218 | | |
---|
219 | | |
---|
220 | v |
---|
221 | --------- |
---|
222 | \ 1.1 / |
---|
223 | \ / |
---|
224 | \ / |
---|
225 | \ / |
---|
226 | |
---|
227 | .ec |
---|
228 | .cs 1 |
---|
229 | .vs |
---|
230 | .fi |
---|
231 | .\} |
---|
232 | .if \np \{\ |
---|
233 | .lf 232 |
---|
234 | .PS 4.250i 3.812i |
---|
235 | .\" -2.0625 -4.25 1.75 0 |
---|
236 | .\" 0.000i 4.250i 3.812i 0.000i |
---|
237 | .nr 00 \n(.u |
---|
238 | .nf |
---|
239 | .nr 0x 1 |
---|
240 | \h'3.812i' |
---|
241 | .sp -1 |
---|
242 | .lf 242 |
---|
243 | \h'2.062i-(\w'Head'u/2u)'\v'0.125i-(0v/2u)+0v+0.22m'Head |
---|
244 | .sp -1 |
---|
245 | \h'2.062i'\v'0.250i'\D'l0.000i 0.500i' |
---|
246 | .sp -1 |
---|
247 | \h'2.087i'\v'0.650i'\D'l-0.025i 0.100i' |
---|
248 | .sp -1 |
---|
249 | \h'2.062i'\v'0.750i'\D'l-0.025i -0.100i' |
---|
250 | .sp -1 |
---|
251 | \h'1.688i'\v'1.250i'\D'l0.750i 0.000i' |
---|
252 | .sp -1 |
---|
253 | \h'2.438i'\v'1.250i'\D'l0.000i -0.500i' |
---|
254 | .sp -1 |
---|
255 | \h'2.438i'\v'0.750i'\D'l-0.750i 0.000i' |
---|
256 | .sp -1 |
---|
257 | \h'1.688i'\v'0.750i'\D'l0.000i 0.500i' |
---|
258 | .sp -1 |
---|
259 | .lf 244 |
---|
260 | \h'2.062i-(\w'2.1'u/2u)'\v'1.000i-(0v/2u)+0v+0.22m'2.1 |
---|
261 | .sp -1 |
---|
262 | \h'2.062i'\v'1.250i'\D'l0.000i 0.500i' |
---|
263 | .sp -1 |
---|
264 | \h'2.087i'\v'1.650i'\D'l-0.025i 0.100i' |
---|
265 | .sp -1 |
---|
266 | \h'2.062i'\v'1.750i'\D'l-0.025i -0.100i' |
---|
267 | .sp -1 |
---|
268 | .lf 246 |
---|
269 | \h'2.062i-(\w'1.3'u/2u)'\v'2.000i-(1v/2u)+0v+0.22m'1.3 |
---|
270 | .sp -1 |
---|
271 | \h'2.062i'\v'2.250i'\D'l-0.375i -0.500i' |
---|
272 | .sp -1 |
---|
273 | \h'1.688i'\v'1.750i'\D'l0.750i 0.000i' |
---|
274 | .sp -1 |
---|
275 | \h'2.438i'\v'1.750i'\D'l-0.375i 0.500i' |
---|
276 | .sp -1 |
---|
277 | \h'1.875i'\v'2.000i'\D'~-0.500i 0.000i 0.000i -0.500i' |
---|
278 | .sp -1 |
---|
279 | \h'1.350i'\v'1.600i'\D'l0.025i -0.100i' |
---|
280 | .sp -1 |
---|
281 | \h'1.375i'\v'1.500i'\D'l0.025i 0.100i' |
---|
282 | .sp -1 |
---|
283 | .lf 249 |
---|
284 | \h'1.375i-(\w'1.3.1.1'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.3.1.1 |
---|
285 | .sp -1 |
---|
286 | \h'1.375i'\v'1.000i'\D'l-0.375i 0.500i' |
---|
287 | .sp -1 |
---|
288 | \h'1.000i'\v'1.500i'\D'l0.750i 0.000i' |
---|
289 | .sp -1 |
---|
290 | \h'1.750i'\v'1.500i'\D'l-0.375i -0.500i' |
---|
291 | .sp -1 |
---|
292 | \h'2.062i'\v'2.250i'\D'l0.000i 0.500i' |
---|
293 | .sp -1 |
---|
294 | \h'2.087i'\v'2.650i'\D'l-0.025i 0.100i' |
---|
295 | .sp -1 |
---|
296 | \h'2.062i'\v'2.750i'\D'l-0.025i -0.100i' |
---|
297 | .sp -1 |
---|
298 | .lf 252 |
---|
299 | \h'2.062i-(\w'1.2'u/2u)'\v'3.000i-(1v/2u)+0v+0.22m'1.2 |
---|
300 | .sp -1 |
---|
301 | \h'2.062i'\v'3.250i'\D'l-0.375i -0.500i' |
---|
302 | .sp -1 |
---|
303 | \h'1.688i'\v'2.750i'\D'l0.750i 0.000i' |
---|
304 | .sp -1 |
---|
305 | \h'2.438i'\v'2.750i'\D'l-0.375i 0.500i' |
---|
306 | .sp -1 |
---|
307 | \h'1.875i'\v'3.000i'\D'~-0.500i 0.000i -0.500i 0.000i -0.500i 0.000i 0.000i -0.500i' |
---|
308 | .sp -1 |
---|
309 | \h'0.350i'\v'2.600i'\D'l0.025i -0.100i' |
---|
310 | .sp -1 |
---|
311 | \h'0.375i'\v'2.500i'\D'l0.025i 0.100i' |
---|
312 | .sp -1 |
---|
313 | .lf 255 |
---|
314 | \h'0.375i-(\w'1.2.1.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.1.1 |
---|
315 | .sp -1 |
---|
316 | \h'0.375i'\v'2.000i'\D'l-0.375i 0.500i' |
---|
317 | .sp -1 |
---|
318 | \h'0.000i'\v'2.500i'\D'l0.750i 0.000i' |
---|
319 | .sp -1 |
---|
320 | \h'0.750i'\v'2.500i'\D'l-0.375i -0.500i' |
---|
321 | .sp -1 |
---|
322 | \h'0.375i'\v'2.000i'\D'l0.000i -0.500i' |
---|
323 | .sp -1 |
---|
324 | \h'0.350i'\v'1.600i'\D'l0.025i -0.100i' |
---|
325 | .sp -1 |
---|
326 | \h'0.375i'\v'1.500i'\D'l0.025i 0.100i' |
---|
327 | .sp -1 |
---|
328 | .lf 257 |
---|
329 | \h'0.375i-(\w'1.2.1.3'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.1.3 |
---|
330 | .sp -1 |
---|
331 | \h'0.375i'\v'1.000i'\D'l-0.375i 0.500i' |
---|
332 | .sp -1 |
---|
333 | \h'0.000i'\v'1.500i'\D'l0.750i 0.000i' |
---|
334 | .sp -1 |
---|
335 | \h'0.750i'\v'1.500i'\D'l-0.375i -0.500i' |
---|
336 | .sp -1 |
---|
337 | \h'2.250i'\v'3.000i'\D'~0.500i 0.000i 0.000i -0.500i' |
---|
338 | .sp -1 |
---|
339 | \h'2.725i'\v'2.600i'\D'l0.025i -0.100i' |
---|
340 | .sp -1 |
---|
341 | \h'2.750i'\v'2.500i'\D'l0.025i 0.100i' |
---|
342 | .sp -1 |
---|
343 | .lf 261 |
---|
344 | \h'2.750i-(\w'1.2.2.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.2.1 |
---|
345 | .sp -1 |
---|
346 | \h'2.750i'\v'2.000i'\D'l-0.375i 0.500i' |
---|
347 | .sp -1 |
---|
348 | \h'2.375i'\v'2.500i'\D'l0.750i 0.000i' |
---|
349 | .sp -1 |
---|
350 | \h'3.125i'\v'2.500i'\D'l-0.375i -0.500i' |
---|
351 | .sp -1 |
---|
352 | \h'2.938i'\v'2.250i'\D'~0.500i 0.000i 0.000i -0.500i 0.000i -0.500i' |
---|
353 | .sp -1 |
---|
354 | \h'3.413i'\v'1.350i'\D'l0.025i -0.100i' |
---|
355 | .sp -1 |
---|
356 | \h'3.438i'\v'1.250i'\D'l0.025i 0.100i' |
---|
357 | .sp -1 |
---|
358 | .lf 264 |
---|
359 | \h'3.438i-(\w'\s-21.2.2.1.1.1\s0'u/2u)'\v'1.000i-(1v/2u)+1v+0.22m'\s-21.2.2.1.1.1\s0 |
---|
360 | .sp -1 |
---|
361 | \h'3.438i'\v'0.750i'\D'l-0.375i 0.500i' |
---|
362 | .sp -1 |
---|
363 | \h'3.062i'\v'1.250i'\D'l0.750i 0.000i' |
---|
364 | .sp -1 |
---|
365 | \h'3.812i'\v'1.250i'\D'l-0.375i -0.500i' |
---|
366 | .sp -1 |
---|
367 | \h'2.750i'\v'2.000i'\D'l0.000i -0.500i' |
---|
368 | .sp -1 |
---|
369 | \h'2.725i'\v'1.600i'\D'l0.025i -0.100i' |
---|
370 | .sp -1 |
---|
371 | \h'2.750i'\v'1.500i'\D'l0.025i 0.100i' |
---|
372 | .sp -1 |
---|
373 | .lf 267 |
---|
374 | \h'2.750i-(\w'1.2.2.2'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.2.2 |
---|
375 | .sp -1 |
---|
376 | \h'2.750i'\v'1.000i'\D'l-0.375i 0.500i' |
---|
377 | .sp -1 |
---|
378 | \h'2.375i'\v'1.500i'\D'l0.750i 0.000i' |
---|
379 | .sp -1 |
---|
380 | \h'3.125i'\v'1.500i'\D'l-0.375i -0.500i' |
---|
381 | .sp -1 |
---|
382 | \h'2.062i'\v'3.250i'\D'l0.000i 0.500i' |
---|
383 | .sp -1 |
---|
384 | \h'2.087i'\v'3.650i'\D'l-0.025i 0.100i' |
---|
385 | .sp -1 |
---|
386 | \h'2.062i'\v'3.750i'\D'l-0.025i -0.100i' |
---|
387 | .sp -1 |
---|
388 | .lf 270 |
---|
389 | \h'2.062i-(\w'1.1'u/2u)'\v'4.000i-(1v/2u)+0v+0.22m'1.1 |
---|
390 | .sp -1 |
---|
391 | \h'2.062i'\v'4.250i'\D'l-0.375i -0.500i' |
---|
392 | .sp -1 |
---|
393 | \h'1.688i'\v'3.750i'\D'l0.750i 0.000i' |
---|
394 | .sp -1 |
---|
395 | \h'2.438i'\v'3.750i'\D'l-0.375i 0.500i' |
---|
396 | .sp -1 |
---|
397 | .sp 4.250i+1 |
---|
398 | .if \n(00 .fi |
---|
399 | .br |
---|
400 | .nr 0x 0 |
---|
401 | .lf 271 |
---|
402 | .PE |
---|
403 | .lf 272 |
---|
404 | .\} |
---|
405 | .PP |
---|
406 | .SH IDENTIFICATION |
---|
407 | .de VL |
---|
408 | \\$2 |
---|
409 | .. |
---|
410 | Author: Walter F. Tichy, |
---|
411 | Purdue University, West Lafayette, IN, 47907. |
---|
412 | .br |
---|
413 | Manual Page Revision: \*(Rv; Release Date: \*(Dt. |
---|
414 | .br |
---|
415 | Copyright \(co 1982, 1988, 1989 Walter F. Tichy. |
---|
416 | .br |
---|
417 | Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert. |
---|
418 | .SH SEE ALSO |
---|
419 | rcsintro(1), ci(1), co(1), ident(1), rcs(1), rcsclean(1), rcsdiff(1), |
---|
420 | rcsmerge(1), rlog(1) |
---|
421 | .br |
---|
422 | Walter F. Tichy, |
---|
423 | \*r\*-A System for Version Control, |
---|
424 | .I "Software\*-Practice & Experience" |
---|
425 | .BR 15 , |
---|
426 | 7 (July 1985), 637-654. |
---|