Penguin
Annotated edit history of rcsfile(5) version 1, including all changes. View license author blame.
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 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.