]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - gnu/usr.bin/rcs/rcs/rcsfile.5
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / gnu / usr.bin / rcs / rcs / rcsfile.5
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 $FreeBSD$
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 .SH IDENTIFICATION
406 .de VL
407 \\$2
408 ..
409 Author: Walter F. Tichy,
410 Purdue University, West Lafayette, IN, 47907.
411 .br
412 Manual Page Revision: \*(Rv; Release Date: \*(Dt.
413 .br
414 Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
415 .br
416 Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
417 .SH SEE ALSO
418 rcsintro(1), ci(1), co(1), ident(1), rcs(1), rcsclean(1), rcsdiff(1),
419 rcsmerge(1), rlog(1)
420 .br
421 Walter F. Tichy,
422 \*r\*-A System for Version Control,
423 .I "Software\*-Practice & Experience"
424 .BR 15 ,
425 7 (July 1985), 637-654.