rcsfile(4) CLIX rcsfile(4)
NAME
rcsfile - Revision Control Source (RCS) file format
DESCRIPTION
The rcsfile file shows the format of a Revision Control Source (RCS) file.
The text in the file is free format. The space, backspace, tab, newline,
vertical tab, form feed, and carriage return (all known as white space)
have no significance except in strings. However, an RCS file must end in
a newline character.
Strings are enclosed with an at sign (@). If a string contains an @, it
must be written twice; otherwise, strings may contain arbitrary binary
data.
The file syntax uses the following conventions: a 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.
In the syntax give below, terminal symbols are in shown in boldface type.
The nonterminal symbols are in italic type.
rcstext ::= admin {delta}* desc {deltatext}*
admin ::= head {num};
{ branch {num}; }
access {id}*;
symbols {id : num}*;
locks {id : num}*; {strict ;}
{ comment {string}; }
{ expand {string}; }
{ newphrase }*
delta ::= num
date num;
author id;
state {id};
branches {num}*;
next {num};
{ newphrase }*
desc ::= desc string
deltatext ::= num
log string
{ newphrase }*
text string
2/94 - Intergraph Corporation 1
rcsfile(4) CLIX rcsfile(4)
num ::= {digit{.}}+
digit ::= 0 | 1 | ... | 9
id ::= letter{idchar}*
letter ::= any letter
idchar ::= any visible graphic character except special
special ::= $ | , | . | : | ; | @
string ::= @{any character, with @ doubled}*@
newphrase ::= id word* ;
word ::= id | num | string | :
The identifiers are case sensitive. Keywords may appear in lower case
only. The sets of keywords and identifiers may overlap.
In most environments, RCS uses the ISO 8859/1 encoding as follows:
letters are octal codes 101-132, 141-172, 300-326, 330-366 and 370-377;
visible graphic characters are codes 041-176 and 240-377, and white space
characters are codes 010-015 and 040.
The newphrase identifier in the grammar is reserved for future extensions
to the format of RCS files. No newphrase identifier will begin with any
keyword already in use.
The delta identifier nodes form a tree. All nodes whose numbers consist
of a single pair (for example, 2.3, 2.1, 1.3, and so on) are on the trunk,
and are linked through the next keyword in order of decreasing numbers.
The head keyword in the admin identifier node points to the head of that
sequence (that is, contains the highest pair). The branch keyword in the
admin identifier section indicates the default branch (or revision) for
most RCS operations. If the keyword is empty, the default branch is the
highest branch on the trunk.
All delta nodes whose numbers consist of 2n fields (for example, n=2, and
the numbers are 3.1.1.1, 2.1.2.2, and so on) are linked as follows. All
nodes whose first 2n -1 number fields are identical are linked through the
next keyword in order of increasing numbers. For each such sequence, the
delta node whose number is identical to the first 2n -2 number fields of
the deltas on that sequence is called the branchpoint. The branches
keyword 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.
The following example shows how a revision tree is structured.
2 Intergraph Corporation - 2/94
rcsfile(4) CLIX rcsfile(4)
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 /
\ /
\ /
\ /
Figure 1. A Revision Tree
RELATED INFORMATION
Commands: ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsfreeze(1),
rcsintro(1), rcsmerge(1), rlog(1)
Walter F. Tichy, ``RCS--A System for Version Control,'' Software--
Practice & Experience, 15, 7 (July 1985), pp. 637-654.
2/94 - Intergraph Corporation 3