1RCSFILE(5L)                                                        RCSFILE(5L)
2
3
4

NAME

6       rcsfile - format of RCS file
7

DESCRIPTION

9       An RCS file is an ASCII file. Its contents are described by the grammar
10       below. The text is free format, i.e., spaces, tabs and new  lines  have
11       no  significance  except in strings. Strings are enclosed by `@'.  If a
12       string contains a `@', it must be doubled.
13
14       The meta syntax uses the following  conventions:  `|'  (bar)  separates
15       alternatives;  `{'  and  `}'  enclose  optional  phrases;  `{' and `}*'
16       enclose phrases that may be repeated zero or more times; `{'  and  '}+'
17       enclose phrases that must appear at least once and may be repeated; `<'
18       and `>' enclose nonterminals.
19
20       <rcstext>      ::=  <admin> {<delta>}* <desc> {<deltatext>}*
21
22       <admin>        ::=  head      {<num>};
23                           branch    {<num>};
24                           access    {<id>}*;
25                           symbols   {<id> : <num>}*;
26                           locks     {<id> : <num>}*;
27                           comment   {<string>};
28
29       <delta>        ::=  <num>
30                           date      <num>;
31                           author    <id>;
32                           state     {<id>};
33                           branches  {<num>}*;
34                           next      {<num>};
35
36       <desc>         ::=  desc      <string>
37
38       <deltatext>    ::=  <num>
39                           log       <string>
40                           text      <string>
41
42
43       <num>          ::=  {<digit>{.}}+
44
45       <digit>        ::=  0 | 1 | ... | 9
46
47       <id>           ::=  <letter>{<idchar>}*
48
49       <letter>       ::=  A | B | ... | Z | a | b | ... | z
50
51       <idchar>       ::=  Any printing ASCII character except space,
52                           tab, carriage return, new line, and <special>.
53
54       <special>      ::=  ; | : | , | @
55
56       <string>       ::=  @{any ASCII character, with `@' doubled}*@
57
58
59       Identifiers are case sensitive. Keywords are in lower case  only.   The
60       sets of keywords and identifiers may overlap.
61
62       The  <delta>  nodes  form  a tree. All nodes whose numbers consist of a
63       single pair (e.g., 2.3, 2.1, 1.3, etc.)  are on the  "trunk",  and  are
64       linked  through the next field in order of decreasing numbers. The head
65       field in the <admin> node points to the head of  that  sequence  (i.e.,
66       contains  the  highest  pair).  The branch node in the admin node indi‐
67       cates the default branch (or revision)  for  most  RCS  operations.  If
68       empty, the default branch is the highest branch on the trunk.
69
70       All  <delta>  nodes  whose  numbers  consist  of 2n fields (n≥2) (e.g.,
71       3.1.1.1, 2.1.2.2, etc.)  are linked as follows. All nodes  whose  first
72       (2n)-1 number fields are identical are linked through the next field in
73       order of increasing numbers.  For each such sequence, the <delta>  node
74       whose  number  is  identical  to  the first 2(n-1) number fields of the
75       deltas on that sequence is called the branchpoint.  The branches  field
76       of  a  node  contains  a  list of the numbers of the first nodes of all
77       sequences for which it is a  branchpoint.   This  list  is  ordered  in
78       increasing numbers.
79
80       Example:
81                                  Head
82                                    |
83                                    |
84                                    v
85                                ---------
86          / \          / \      |       |      / \           / \
87         /   \        /   \     |  2.1  |     /   \         /   \
88        /     \      /     \    |       |    /     \      /       \
89       /1.2.1.3\    /1.3.1.1\   |       |   /1.2.2.2\   /1.2.2.1.1.1\
90       ---------    ---------   ---------   ---------   -------------
91           ^            ^           |           ^             ^
92           |            |           |           |             |
93           |            |           v           |             |
94          / \           |       ---------      / \            |
95         /   \          |       \  1.3  /     /   \           |
96        /     \         ---------\     /     /     \-----------
97       /1.2.1.1\                  \   /     /1.2.2.1\
98       ---------                   \ /      ---------
99           ^                        |           ^
100           |                        |           |
101           |                        v           |
102           |                    ---------       |
103           |                    \  1.2  /       |
104           ----------------------\     /---------
105                                  \   /
106                                   \ /
107                                    |
108                                    |
109                                    v
110                                ---------
111                                \  1.1  /
112                                 \     /
113                                  \   /
114                                   \ /
115
116
117                               Fig. 1: A revision tree
118

IDENTIFICATION

120       Author: Walter F. Tichy, Purdue University, West Lafayette, IN, 47907.
121       Revision Number: 1.1 ; Release Date: 87/03/11 .
122       Copyright © 1982 by Walter F. Tichy.
123

SEE ALSO

125       ci(1L),   co(1L),   ident(1L),   rcs(1L),   rcsdiff(1L),  rcsmerge(1L),
126       rlog(1L),
127       Walter F. Tichy, "Design, Implementation, and Evaluation of a  Revision
128       Control  System," in Proceedings of the 6th International Conference on
129       Software Engineering, IEEE, Tokyo, Sept. 1982.
130
131
132
133Purdue University                                                  RCSFILE(5L)
Impressum