|
|
1.1 root 1: .TH RCSFILE 5L "" "Purdue University"
2: .SH NAME
3: rcsfile \- format of RCS file
4: .SH DESCRIPTION
5: An RCS file is an ASCII file. Its contents are described by the grammar
6: below. The text is free format, i.e., spaces, tabs and new lines have
7: no significance except in strings. Strings are enclosed by `@'.
8: If a string contains a `@', it must be doubled.
9: .PP
10: The meta syntax uses the following conventions: `|' (bar) separates
11: alternatives; `{' and `}' enclose optional phrases; `{' and `}*' enclose
12: phrases that may be repeated zero or more times;
13: `{' and '}+' enclose phrases that must appear at least once and may be
14: repeated;
15: `<' and `>' enclose nonterminals.
16: .PP
17: .ta 1.5i 2.0i 3i
18: .fc ~
19: .nf
20:
21:
22: <rcstext> ~~::=~~<admin> {<delta>}* <desc> {<deltatext>}*
23:
24: <admin> ~~::=~~\fBhead\fR ~~{<num>};
25: ~~ ~~\fBbranch\fR ~~{<num>};
26: ~~ ~~\fBaccess\fR ~~{<id>}*;
27: ~~ ~~\fBsymbols\fR ~~{<id> : <num>}*;
28: ~~ ~~\fBlocks\fR ~~{<id> : <num>}*;
29: ~~ ~~\fBcomment\fR ~~{<string>};
30:
31: <delta> ~~::=~~<num>
32: ~~ ~~\fBdate\fR ~~<num>;
33: ~~ ~~\fBauthor\fR ~~<id>;
34: ~~ ~~\fBstate\fR ~~{<id>};
35: ~~ ~~\fBbranches\fR ~~{<num>}*;
36: ~~ ~~\fBnext\fR ~~{<num>};
37:
38: <desc> ~~::=~~\fBdesc\fR ~~<string>
39:
40: <deltatext>~~::=~~<num>
41: ~~ ~~\fBlog\fR ~~<string>
42: ~~ ~~\fBtext\fR ~~<string>
43:
44:
45: <num> ~~::=~~{<digit>{.}}+
46:
47: <digit> ~~::=~~0 | 1 | ... | 9
48:
49: <id> ~~::=~~<letter>{<idchar>}*
50:
51: <letter> ~~::=~~A | B | ... | Z | a | b | ... | z
52:
53: <idchar> ~~::=~~Any printing ASCII character except space,
54: ~~ ~~tab, carriage return, new line, and <special>.
55:
56: <special> ~~::=~~; | : | , | @
57:
58: <string> ~~::=~~@{any ASCII character, with `@' doubled}*@
59:
60: .fi
61: .PP
62: Identifiers are case sensitive. Keywords are in lower case only.
63: The sets of keywords and identifiers may overlap.
64: .PP
65: The <delta> nodes form a tree. All nodes whose numbers
66: consist of a single pair
67: (e.g., 2.3, 2.1, 1.3, etc.)
68: are on the "trunk", and are linked through the \fBnext\fR
69: field in order of decreasing numbers. The \fBhead\fR field in the
70: <admin> node points to the head of that sequence (i.e., contains
71: the highest pair).
72: The \fBbranch\fR node in the admin node indicates the default
73: branch (or revision) for most RCS operations. If empty, the default
74: branch is the highest branch on the trunk.
75: .PP
76: All <delta> nodes whose numbers consist of 2n fields (n\(>=2)
77: (e.g., 3.1.1.1, 2.1.2.2, etc.)
78: are linked as follows. All nodes whose first (2n)-1 number fields are identical
79: are linked through the \fBnext\fR field in order of increasing numbers.
80: For each such sequence,
81: the <delta> node whose number is identical to the first
82: 2(n-1) number fields of the deltas on that sequence is called the branchpoint.
83: The \fBbranches\fR field of a node contains a list of the
84: numbers of the first nodes of all sequences for which it is a branchpoint.
85: This list is ordered in increasing numbers.
86: .sp 1
87: .ne 38
88: Example:
89: .eo
90: .nf
91: .vs 12pts
92: .cs 1 20
93: .if t .in +0.5i
94: Head
95: |
96: |
97: v
98: ---------
99: / \ / \ | | / \ / \
100: / \ / \ | 2.1 | / \ / \
101: / \ / \ | | / \ / \
102: /1.2.1.3\ /1.3.1.1\ | | /1.2.2.2\ /1.2.2.1.1.1\
103: --------- --------- --------- --------- -------------
104: ^ ^ | ^ ^
105: | | | | |
106: | | v | |
107: / \ | --------- / \ |
108: / \ | \ 1.3 / / \ |
109: / \ ---------\ / / \-----------
110: /1.2.1.1\ \ / /1.2.2.1\
111: --------- \ / ---------
112: ^ | ^
113: | | |
114: | v |
115: | --------- |
116: | \ 1.2 / |
117: ----------------------\ /---------
118: \ /
119: \ /
120: |
121: |
122: v
123: ---------
124: \ 1.1 /
125: \ /
126: \ /
127: \ /
128:
129:
130: .if t .in -0.5i
131: .cs 1
132: .ec
133: .ce
134: Fig. 1: A revision tree
135: .fi
136: .PP
137: .SH IDENTIFICATION
138: .de VL
139: \\$2
140: ..
141: Author: Walter F. Tichy,
142: Purdue University, West Lafayette, IN, 47907.
143: .sp 0
144: Revision Number:
145: .VL $Revision: 1.2 $
146: ; Release Date:
147: .VL $Date: 89/05/02 11:16:56 $
148: \&.
149: .sp 0
150: Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
151: .SH SEE ALSO
152: ci(1L), co(1L), ident(1L), rcs(1L), rcsdiff(1L), rcsmerge(1L), rlog(1L),
153: .br
154: Walter F. Tichy, "Design, Implementation, and Evaluation of a Revision Control
155: System," in \fIProceedings of the 6th International Conference on Software
156: Engineering\fR, IEEE, Tokyo, Sept. 1982.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.