Deleted Added
full compact
rcsfile.5 (9) rcsfile.5 (11891)
1.lf 1 ./rcsfile.5in
2.\" Set p to 1 if your formatter can handle pic output.
3.if t .nr p 1
1.de Id
2.ds Rv \\$3
3.ds Dt \\$4
4..
4.de Id
5.ds Rv \\$3
6.ds Dt \\$4
7..
5.Id $Id: rcsfile.5,v 5.1 1991/08/19 03:13:55 eggert Exp $
8.Id $Id: rcsfile.5in,v 5.6 1995/06/05 08:28:35 eggert Exp $
6.ds r \s-1RCS\s0
7.if n .ds - \%--
8.if t .ds - \(em
9.TH RCSFILE 5 \*(Dt GNU
10.SH NAME
11rcsfile \- format of RCS file
12.SH DESCRIPTION
13An \*r file's
14contents are described by the grammar
15below.
16.PP
17The text is free format: space, backspace, tab, newline, vertical
18tab, form feed, and carriage return (collectively,
19.IR "white space")
20have no significance except in strings.
9.ds r \s-1RCS\s0
10.if n .ds - \%--
11.if t .ds - \(em
12.TH RCSFILE 5 \*(Dt GNU
13.SH NAME
14rcsfile \- format of RCS file
15.SH DESCRIPTION
16An \*r file's
17contents are described by the grammar
18below.
19.PP
20The text is free format: space, backspace, tab, newline, vertical
21tab, form feed, and carriage return (collectively,
22.IR "white space")
23have no significance except in strings.
21However, an \*r file must end in a newline character.
24However, white space cannot appear within an id, num, or sym,
25and an \*r file must end with a newline.
22.PP
23Strings are enclosed by
24.BR @ .
25If a string contains a
26.BR @ ,
27it must be doubled;
26.PP
27Strings are enclosed by
28.BR @ .
29If a string contains a
30.BR @ ,
31it must be doubled;
28otherwise, strings may contain arbitrary binary data.
32otherwise, strings can contain arbitrary binary data.
29.PP
30The meta syntax uses the following conventions: `|' (bar) separates
31alternatives; `{' and `}' enclose optional phrases; `{' and `}*' enclose
33.PP
34The meta syntax uses the following conventions: `|' (bar) separates
35alternatives; `{' and `}' enclose optional phrases; `{' and `}*' enclose
32phrases that may be repeated zero or more times;
33`{' and '}+' enclose phrases that must appear at least once and may be
36phrases that can be repeated zero or more times;
37`{' and '}+' enclose phrases that must appear at least once and can be
34repeated;
35Terminal symbols are in
36.BR boldface ;
37nonterminal symbols are in
38.IR italics .
39.LP
38repeated;
39Terminal symbols are in
40.BR boldface ;
41nonterminal 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
40.nr x \w'\f3branches\fP'
41.nr y \w'{ \f3comment\fP'
42.if \nx<\ny .nr x \ny
43.nr y \w'\f3{ branch\fP'
44.if \nx<\ny .nr x \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
45.ta \w'\f2deltatext\fP 'u +\w'::= 'u +\nxu+\w' 'u
46.fc ~
52.ta \nwu +\w'::= 'u +\nxu+\w' 'u
53.fc #
47.nf
48\f2rcstext\fP ::= \f2admin\fP {\f2delta\fP}* \f2desc\fP {\f2deltatext\fP}*
49.LP
50\f2admin\fP ::= \f3head\fP {\f2num\fP}\f3;\fP
51 { \f3branch\fP {\f2num\fP}\f3;\fP }
52 \f3access\fP {\f2id\fP}*\f3;\fP
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
53 \f3symbols\fP {\f2id\fP \f3:\fP \f2num\fP}*\f3;\fP
60 \f3symbols\fP {\f2sym\fP \f3:\fP \f2num\fP}*\f3;\fP
54 \f3locks\fP {\f2id\fP \f3:\fP \f2num\fP}*\f3;\fP {\f3strict ;\fP}
55 { \f3comment\fP {\f2string\fP}\f3;\fP }
56 { \f3expand\fP {\f2string\fP}\f3;\fP }
57 { \f2newphrase\fP }*
58.LP
59\f2delta\fP ::= \f2num\fP
60 \f3date\fP \f2num\fP\f3;\fP
61 \f3author\fP \f2id\fP\f3;\fP

--- 4 unchanged lines hidden (view full) ---

66.LP
67\f2desc\fP ::= \f3desc\fP \f2string\fP
68.LP
69\f2deltatext\fP ::= \f2num\fP
70 \f3log\fP \f2string\fP
71 { \f2newphrase\fP }*
72 \f3text\fP \f2string\fP
73.LP
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

--- 4 unchanged lines hidden (view full) ---

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
74\f2num\fP ::= {\f2digit\fP{\f3.\fP}}+
81\f2num\fP ::= {\f2digit\fP | \f3.\fP}+
75.LP
82.LP
76\f2digit\fP ::= \f30\fP | \f31\fP | .\|.\|. | \f39\fP
83\f2digit\fP ::= \f30\fP | \f31\fP | \f32\fP | \f33\fP | \f34\fP | \f35\fP | \f36\fP | \f37\fP | \f38\fP | \f39\fP
77.LP
84.LP
78\f2id\fP ::= \f2letter\fP{\f2idchar\fP}*
85\f2id\fP ::= {\f2num\fP} \f2idchar\fP {\f2idchar\fP | \f2num\fP}*
79.LP
86.LP
80\f2letter\fP ::= any letter
87\f2sym\fP ::= {\f2digit\fP}* \f2idchar\fP {\f2idchar\fP | \f2digit\fP}*
81.LP
82\f2idchar\fP ::= any visible graphic character except \f2special\fP
83.LP
84\f2special\fP ::= \f3$\fP | \f3,\fP | \f3.\fP | \f3:\fP | \f3;\fP | \f3@\fP
85.LP
86\f2string\fP ::= \f3@\fP{any character, with \f3@\fP doubled}*\f3@\fP
87.LP
88\f2newphrase\fP ::= \f2id\fP \f2word\fP* \f3;\fP
89.LP
90\f2word\fP ::= \f2id\fP | \f2num\fP | \f2string\fP | \f3:\fP
91.fi
92.PP
93Identifiers are case sensitive. Keywords are in lower case only.
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
100Identifiers are case sensitive. Keywords are in lower case only.
94The sets of keywords and identifiers may overlap.
95In most environments RCS uses the ISO 8859/1 encoding:
96letters are octal codes 101\-132, 141\-172, 300\-326, 330\-366 and 370-377,
101The sets of keywords and identifiers can overlap.
102In most environments \*r uses the \s-1ISO\s0 8859/1 encoding:
97visible graphic characters are codes 041\-176 and 240\-377,
98and white space characters are codes 010\-015 and 040.
99.PP
103visible graphic characters are codes 041\-176 and 240\-377,
104and white space characters are codes 010\-015 and 040.
105.PP
106Dates, which appear after the
107.B date
108keyword, 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,
110where
111.I Y
112is the year,
113.I mm
114the month (01\-12),
115.I dd
116the day (01\-31),
117.I hh
118the hour (00\-23),
119.I mm
120the minute (00\-59),
121and
122.I ss
123the second (00\-60).
124.I Y
125contains just the last two digits of the year
126for years from 1900 through 1999,
127and all the digits of years thereafter.
128Dates use the Gregorian calendar; times use UTC.
129.PP
100The
101.I newphrase
102productions in the grammar are reserved for future extensions
103to the format of \*r files.
104No
105.I newphrase
106will begin with any keyword already in use.
107.PP

--- 18 unchanged lines hidden (view full) ---

126If empty, the default
127branch is the highest branch on the trunk.
128.PP
129All
130.I delta
131nodes whose numbers consist of
132.RI 2 n
133fields
130The
131.I newphrase
132productions in the grammar are reserved for future extensions
133to the format of \*r files.
134No
135.I newphrase
136will begin with any keyword already in use.
137.PP

--- 18 unchanged lines hidden (view full) ---

156If empty, the default
157branch is the highest branch on the trunk.
158.PP
159All
160.I delta
161nodes whose numbers consist of
162.RI 2 n
163fields
134.RI ( n >=2)
164.RI ( n \(>=2)
135(e.g., 3.1.1.1, 2.1.2.2, etc.)
136are linked as follows.
137All nodes whose first
138.RI 2 n \-1
139number fields are identical are linked through the
140.B next
141field in order of increasing numbers.
142For each such sequence,
143the
144.I delta
145node whose number is identical to the first
146.RI 2 n \-2
147number fields of the deltas on that sequence is called the branchpoint.
148The
149.B branches
150field of a node contains a list of the
151numbers of the first nodes of all sequences for which it is a branchpoint.
152This list is ordered in increasing numbers.
153.LP
165(e.g., 3.1.1.1, 2.1.2.2, etc.)
166are linked as follows.
167All nodes whose first
168.RI 2 n \-1
169number fields are identical are linked through the
170.B next
171field in order of increasing numbers.
172For each such sequence,
173the
174.I delta
175node whose number is identical to the first
176.RI 2 n \-2
177number fields of the deltas on that sequence is called the branchpoint.
178The
179.B branches
180field of a node contains a list of the
181numbers of the first nodes of all sequences for which it is a branchpoint.
182This list is ordered in increasing numbers.
183.LP
184The following diagram shows an example of an \*r file's organization.
185.if !\np \{\
154.nf
155.vs 12
186.nf
187.vs 12
156.ne 38
157Example:
158.if t .in +0.5i
188.ne 36
159.cs 1 20
160.eo
161
162 Head
163 |
164 |
165 v / \
166 --------- / \

--- 23 unchanged lines hidden (view full) ---

190 v
191 ---------
192 \ 1.1 /
193 \ /
194 \ /
195 \ /
196
197.ec
189.cs 1 20
190.eo
191
192 Head
193 |
194 |
195 v / \
196 --------- / \

--- 23 unchanged lines hidden (view full) ---

220 v
221 ---------
222 \ 1.1 /
223 \ /
224 \ /
225 \ /
226
227.ec
198.if t .in
199.cs 1
228.cs 1
200.ce
201Fig. 1: A revision tree
202.vs
203.fi
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.\}
204.PP
205.SH IDENTIFICATION
206.de VL
207\\$2
208..
209Author: Walter F. Tichy,
210Purdue University, West Lafayette, IN, 47907.
211.br
405.PP
406.SH IDENTIFICATION
407.de VL
408\\$2
409..
410Author: Walter F. Tichy,
411Purdue University, West Lafayette, IN, 47907.
412.br
212Revision Number: \*(Rv; Release Date: \*(Dt.
413Manual Page Revision: \*(Rv; Release Date: \*(Dt.
213.br
414.br
214Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
415Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
215.br
416.br
216Copyright \(co 1990, 1991 by Paul Eggert.
417Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
217.SH SEE ALSO
418.SH SEE ALSO
218ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsmerge(1), rlog(1),
419rcsintro(1), ci(1), co(1), ident(1), rcs(1), rcsclean(1), rcsdiff(1),
420rcsmerge(1), rlog(1)
219.br
220Walter F. Tichy,
221\*r\*-A System for Version Control,
222.I "Software\*-Practice & Experience"
223.BR 15 ,
2247 (July 1985), 637-654.
421.br
422Walter F. Tichy,
423\*r\*-A System for Version Control,
424.I "Software\*-Practice & Experience"
425.BR 15 ,
4267 (July 1985), 637-654.