rcsfile(4)
NAME
rcsfile − format of RCS files
DESCRIPTION
An RCS file is an ASCII file. Its contents are described by the grammar below. The text is free format, i.e., spaces, tabs and new-line characters have no significance except in strings. Strings are enclosed by "@". If a string contains the "@" symbol, the symbol must be doubled.
The meta syntax uses the following conventions: "|" (bar) separates alternatives; "{" and "}" enclose optional phrases; "{" and "}∗" enclose phrases that may be repeated zero or more times; "{" and "}+" enclose phrases that must appear at least once and may be repeated; "<" and ">" enclose nonterminals.
<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, new line, and <special>.
<special>::=; | : | , | @
<string>::=@{any ASCII character, with "@" doubled}*@
Identifiers are case sensitive. Keywords are in lowercase only. The sets of keywords and identifiers may overlap.
The <delta> nodes form a tree. All nodes whose numbers consist of a single pair (e.g., 2.3, 2.1, 1.3, etc.) are on the "trunk", and are linked through the "next" field in order of decreasing numbers. The "head" field in the <admin> node points to the head of that sequence (i.e., contains the highest pair).
All <delta> nodes whose numbers consist of 2n fields (n≥2) (e.g., 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 "next" field in order of increasing numbers. For each such sequence, the <delta> node whose number is identical to the first 2(n−1) number fields of the deltas on that sequence is called the branchpoint. The "branches" 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.
For example:
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 files only. Attempting to use RCS with non-text (binary) files results in data corruption.
AUTHOR
rcsfile was developed by Walter F. Tichy, Purdue University, West Lafayette, IN 47907.
Revision Number: 3.0; Release Date: 83/05/11.
Copyright 1982 by Walter F. Tichy.
SEE ALSO
ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsintro(5).
Hewlett-Packard Company — HP-UX Release 10.20: July 1996