version 1 showing authors affecting page license.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
RCSFILE |
|
|
2 |
!!!RCSFILE |
|
|
3 |
NAME |
|
|
4 |
DESCRIPTION |
|
|
5 |
IDENTIFICATION |
|
|
6 |
SEE ALSO |
|
|
7 |
---- |
|
|
8 |
./rcsfile.5in. |
|
|
9 |
!!NAME |
|
|
10 |
|
|
|
11 |
|
|
|
12 |
rcsfile - format of RCS file |
|
|
13 |
!!DESCRIPTION |
|
|
14 |
|
|
|
15 |
|
|
|
16 |
An RCS file's contents are described by the |
|
|
17 |
grammar below. |
|
|
18 |
|
|
|
19 |
|
|
|
20 |
The text is free format: space, backspace, tab, newline, |
|
|
21 |
vertical tab, form feed, and carriage return (collectively, |
|
|
22 |
''white space'') have no significance except in strings. |
|
|
23 |
However, white space cannot appear within an id, num, or |
|
|
24 |
sym, and an RCS file must end with a |
|
|
25 |
newline. |
|
|
26 |
|
|
|
27 |
|
|
|
28 |
Strings are enclosed by __@__. If a string contains a |
|
|
29 |
__@__, it must be doubled; otherwise, strings can contain |
|
|
30 |
arbitrary binary data. |
|
|
31 |
|
|
|
32 |
|
|
|
33 |
The meta syntax uses the following conventions: `|' (bar) |
|
|
34 |
separates alternatives; `{' and `}' enclose optional |
|
|
35 |
phrases; `{' and `}*' enclose phrases that can be repeated |
|
|
36 |
zero or more times; `{' and '}+' enclose phrases that must |
|
|
37 |
appear at least once and can be repeated; Terminal symbols |
|
|
38 |
are in __boldface__; nonterminal symbols are in |
|
|
39 |
''italics''. |
|
|
40 |
|
|
|
41 |
|
|
|
42 |
''rcstext'' ::= '' admin'' {''delta''}* ''desc'' {''deltatext''}* |
|
|
43 |
''admin'' ::= __ head__ {''num''}__; |
|
|
44 |
__ { __branch__ {''num''}__;__ } |
|
|
45 |
__ access__ {''id''}*__; |
|
|
46 |
symbols__ {''sym'' __:__ ''num''}*__; |
|
|
47 |
locks__ {''id'' __:__ ''num''}*__;__ {__strict ;__} |
|
|
48 |
{ __comment__ {''string''}__;__ } |
|
|
49 |
{ __expand__ {''string''}__;__ } |
|
|
50 |
{ ''newphrase'' }* |
|
|
51 |
''delta'' ::= '' num |
|
|
52 |
''__ date__ '' num''__; |
|
|
53 |
author__ '' id''__; |
|
|
54 |
state__ {''id''}__; |
|
|
55 |
branches__ {''num''}*__; |
|
|
56 |
next__ {''num''}__; |
|
|
57 |
__ { ''newphrase'' }* |
|
|
58 |
''desc'' ::= __ desc__ '' string |
|
|
59 |
deltatext'' ::= '' num |
|
|
60 |
''__ log__ '' string |
|
|
61 |
'' { ''newphrase'' }* |
|
|
62 |
__ text__ '' string |
|
|
63 |
num'' ::= {''digit'' | __.__}+ |
|
|
64 |
''digit'' ::= __ 0__ | __1__ | __2__ | __3__ | __4__ | __5__ | __6__ | __7__ | __8__ | __9 |
|
|
65 |
__''id'' ::= {''num''} ''idchar'' {''idchar'' | ''num''}* |
|
|
66 |
''sym'' ::= {''digit''}* ''idchar'' {''idchar'' | ''digit''}* |
|
|
67 |
''idchar'' ::= any visible graphic character except ''special |
|
|
68 |
special'' ::= __ $__ | __,__ | __.__ | __:__ | __;__ | __@ |
|
|
69 |
__''string'' ::= __ @__{any character, with __@__ doubled}*__@ |
|
|
70 |
__''newphrase'' ::= '' id word''* __; |
|
|
71 |
__''word'' ::= '' id'' | ''num'' | ''string'' | __: |
|
|
72 |
__Identifiers are case sensitive. Keywords are in lower case only. The sets of keywords and identifiers can overlap. In most environments RCS uses the ISO 8859/1 encoding: visible graphic characters are codes 041-176 and 240-377, and white space characters are codes 010-015 and 040. |
|
|
73 |
|
|
|
74 |
|
|
|
75 |
Dates, which appear after the __date__ keyword, are of |
|
|
76 |
the form |
|
|
77 |
''Y''__.__''mm''__.__''dd''__.__''hh''__.__''mm''__.__''ss'', |
|
|
78 |
where ''Y'' is the year, ''mm'' the month (01-12), |
|
|
79 |
''dd'' the day (01-31), ''hh'' the hour (00-23), |
|
|
80 |
''mm'' the minute (00-59), and ''ss'' the second |
|
|
81 |
(00-60). ''Y'' contains just the last two digits of the |
|
|
82 |
year for years from 1900 through 1999, and all the digits of |
|
|
83 |
years thereafter. Dates use the Gregorian calendar; times |
|
|
84 |
use UTC. |
|
|
85 |
|
|
|
86 |
|
|
|
87 |
The ''newphrase'' productions in the grammar are reserved |
|
|
88 |
for future extensions to the format of RCS |
|
|
89 |
files. No ''newphrase'' will begin with any keyword |
|
|
90 |
already in use. |
|
|
91 |
|
|
|
92 |
|
|
|
93 |
The ''delta'' nodes form a tree. All nodes whose numbers |
|
|
94 |
consist of a single pair (e.g., 2.3, 2.1, 1.3, etc.) are on |
|
|
95 |
the trunk, and are linked through the __next__ field in |
|
|
96 |
order of decreasing numbers. The __head__ field in the |
|
|
97 |
''admin'' node points to the head of that sequence (i.e., |
|
|
98 |
contains the highest pair). The __branch__ node in the |
|
|
99 |
admin node indicates the default branch (or revision) for |
|
|
100 |
most RCS operations. If empty, the default |
|
|
101 |
branch is the highest branch on the trunk. |
|
|
102 |
|
|
|
103 |
|
|
|
104 |
All ''delta'' nodes whose numbers consist of 2''n'' |
|
|
105 |
fields (''n''2) (e.g., 3.1.1.1, 2.1.2.2, etc.) are linked |
|
|
106 |
as follows. All nodes whose first 2''n''-1 number fields |
|
|
107 |
are identical are linked through the __next__ field in |
|
|
108 |
order of increasing numbers. For each such sequence, the |
|
|
109 |
''delta'' node whose number is identical to the first |
|
|
110 |
2''n''-2 number fields of the deltas on that sequence is |
|
|
111 |
called the branchpoint. The __branches__ field of a node |
|
|
112 |
contains a list of the numbers of the first nodes of all |
|
|
113 |
sequences for which it is a branchpoint. This list is |
|
|
114 |
ordered in increasing numbers. |
|
|
115 |
|
|
|
116 |
|
|
|
117 |
The following diagram shows an example of an |
|
|
118 |
RCS file's organization. |
|
|
119 |
|
|
|
120 |
|
|
|
121 |
Head |
|
|
122 |
2.1 |
|
|
123 |
1.3 |
|
|
124 |
1.3.1.1 |
|
|
125 |
1.2 |
|
|
126 |
1.2.1.1 |
|
|
127 |
1.2.1.3 |
|
|
128 |
1.2.2.1 |
|
|
129 |
1.2.2.1.1.1 |
|
|
130 |
1.2.2.2 |
|
|
131 |
1.1 |
|
|
132 |
!!IDENTIFICATION |
|
|
133 |
|
|
|
134 |
|
|
|
135 |
Author: Walter F. Tichy, Purdue University, West Lafayette, |
|
|
136 |
IN, 47907. |
|
|
137 |
Manual Page Revision: 5.6; Release Date: 1995/06/05. |
|
|
138 |
Copyright 1982, 1988, 1989 Walter F. Tichy. |
|
|
139 |
Copyright 1990, 1991, 1992, 1993, 1994, 1995 Paul |
|
|
140 |
Eggert. |
|
|
141 |
!!SEE ALSO |
|
|
142 |
|
|
|
143 |
|
|
|
144 |
rcsintro(1), ci(1), co(1), ident(1), rcs(1), rcsclean(1), |
|
|
145 |
rcsdiff(1), rcsmerge(1), rlog(1) |
|
|
146 |
Walter F. Tichy, RCS --A System for Version |
|
|
147 |
Control, ''Software--Practice '' |
|
|
148 |
__15__, 7 (July 1985), 637-654. |
|
|
149 |
---- |