rcsfile(4)rcsfile(4)NAMErcsfile - format of RCS files
DESCRIPTION
An RCS file is an ASCII file. Its contents are described by the gram‐
mar below. The text is free format, that is, spaces, tabs and newline
characters have no significance except in strings. Strings are
enclosed by symbols. If a string contains the symbol, the symbol must
be doubled.
The meta syntax uses the following conventions:
| (bar) Separates alternatives.
{...} (braces) Enclose optional phrases.
{...}* (braces star) Enclose phrases that may be repeated
zero or more times.
{...}+ (braces plus) Enclose phrases that must appear at
least once and may be repeated.
<...> (angle brackets) Enclose nonterminals.
RCS File Grammar
Identifiers are case sensitive. Keywords are in lowercase only. The
sets of keywords and identifiers may overlap.
<rcstext> ::= <admin> {<delta>}* <desc> {<deltatext>}*
<admin> ::= head {<num>};
access {<id>}*;
symbols {<id> : <num>}*;
locks {<id> : <num>}*; {strict ;}
comment {<string>};
<delta> ::= <num>
date <num>;
author <id>;
state {<id>};
branches {<num>}*;
next {<num>};
<desc> ::= desc <string>
<deltatext> ::= <num>
log <string>
text <string>
<num> ::= {<digit>{.}}+
<digit> ::= 0 | 1 | ... | 9
<id> ::= <letter>{<idchar>}*
<letter> ::= A | B | ... | Z | a | b | ... | z
<idchar> ::= Any printing ASCII character except space,
tab, carriage return, newline, and <special>.
<special> ::= ; | : | , | @
<string> ::= @{any ASCII character, with "@" doubled}*@
RCS File Structure
The nodes form a tree. All nodes whose numbers consist of a single
pair (for example, 2.3, 2.1, 1.3, etc.) are on the trunk, and are
linked through the field in order of decreasing numbers. The field in
the node points to the head of that sequence (that is, contains the
highest pair).
All nodes whose numbers consist of 2n fields (n>=2) (for example,
3.1.1.1, 2.1.2.2, etc.) are linked as follows. All nodes whose first
(2n)-1 number fields are identical are linked through the field in
order of increasing numbers. For each such sequence, the node whose
number is identical to the first 2(n-1) number fields of the deltas on
that sequence is called the branchpoint. The field of a node contains
a list of the numbers of the first nodes of all sequences for which it
is a branchpoint. This list is ordered in increasing numbers.
EXAMPLES
head
|
|
v
---------
/ \ / \ | | / \ / \
/ \ / \ | 2.1 | / \ / \
/ \ / \ | | / \ __/ \__
/1.2.1.3\ /1.3.1.1\ | | /1.2.2.2\ /1.2.2.1.1.1\
-------------------------------------------------
^ ^ | ^ ^
| | | | |
| | v | |
/ \ | --------- / \ |
/ \ | \ 1.3 / / \ |
/ \ ---------\ / / \-----------
/1.2.1.1\ \ / /1.2.2.1\
--------- \ / ---------
^ | ^
| | |
| v |
| --------- |
| \ 1.2 / |
----------------------\ /---------
\ /
\ /
|
|
v
---------
\ 1.1 /
\ /
\ /
\ /
WARNINGS
RCS is designed to be used with text (ASCII) files only. Using RCS
with nontext (binary) files results in data corruption.
AUTHOR
was developed by Walter F. Tichy, Purdue University, West Lafayette, IN
47907, USA.
1982 by Walter F. Tichy.
SEE ALSOci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsmerge(1), rlog(1),
rcsintro(5).
rcsfile(4)