rcsfile.5 (9) | rcsfile.5 (11891) |
---|---|
1.lf 1 ./rcsfile.5in 2.\" Set p to 1 if your formatter can handle pic output. 3.if t .nr p 1 |
|
1.de Id 2.ds Rv \\$3 3.ds Dt \\$4 4.. | 4.de Id 5.ds Rv \\$3 6.ds Dt \\$4 7.. |
5.Id $Id: rcsfile.5,v 5.1 1991/08/19 03:13:55 eggert Exp $ | 8.Id $Id: rcsfile.5in,v 5.6 1995/06/05 08:28:35 eggert Exp $ |
6.ds r \s-1RCS\s0 7.if n .ds - \%-- 8.if t .ds - \(em 9.TH RCSFILE 5 \*(Dt GNU 10.SH NAME 11rcsfile \- format of RCS file 12.SH DESCRIPTION 13An \*r file's 14contents are described by the grammar 15below. 16.PP 17The text is free format: space, backspace, tab, newline, vertical 18tab, form feed, and carriage return (collectively, 19.IR "white space") 20have no significance except in strings. | 9.ds r \s-1RCS\s0 10.if n .ds - \%-- 11.if t .ds - \(em 12.TH RCSFILE 5 \*(Dt GNU 13.SH NAME 14rcsfile \- format of RCS file 15.SH DESCRIPTION 16An \*r file's 17contents are described by the grammar 18below. 19.PP 20The text is free format: space, backspace, tab, newline, vertical 21tab, form feed, and carriage return (collectively, 22.IR "white space") 23have no significance except in strings. |
21However, an \*r file must end in a newline character. | 24However, white space cannot appear within an id, num, or sym, 25and an \*r file must end with a newline. |
22.PP 23Strings are enclosed by 24.BR @ . 25If a string contains a 26.BR @ , 27it must be doubled; | 26.PP 27Strings are enclosed by 28.BR @ . 29If a string contains a 30.BR @ , 31it must be doubled; |
28otherwise, strings may contain arbitrary binary data. | 32otherwise, strings can contain arbitrary binary data. |
29.PP 30The meta syntax uses the following conventions: `|' (bar) separates 31alternatives; `{' and `}' enclose optional phrases; `{' and `}*' enclose | 33.PP 34The meta syntax uses the following conventions: `|' (bar) separates 35alternatives; `{' and `}' enclose optional phrases; `{' and `}*' enclose |
32phrases that may be repeated zero or more times; 33`{' and '}+' enclose phrases that must appear at least once and may be | 36phrases that can be repeated zero or more times; 37`{' and '}+' enclose phrases that must appear at least once and can be |
34repeated; 35Terminal symbols are in 36.BR boldface ; 37nonterminal symbols are in 38.IR italics . 39.LP | 38repeated; 39Terminal symbols are in 40.BR boldface ; 41nonterminal symbols are in 42.IR italics . 43.LP |
44.nr w \w'\f3deltatext\fP ' 45.nr y \w'\f3newphrase\fP ' 46.if \nw<\ny .nr w \ny |
|
40.nr x \w'\f3branches\fP' 41.nr y \w'{ \f3comment\fP' 42.if \nx<\ny .nr x \ny 43.nr y \w'\f3{ branch\fP' 44.if \nx<\ny .nr x \ny | 47.nr x \w'\f3branches\fP' 48.nr y \w'{ \f3comment\fP' 49.if \nx<\ny .nr x \ny 50.nr y \w'\f3{ branch\fP' 51.if \nx<\ny .nr x \ny |
45.ta \w'\f2deltatext\fP 'u +\w'::= 'u +\nxu+\w' 'u 46.fc ~ | 52.ta \nwu +\w'::= 'u +\nxu+\w' 'u 53.fc # |
47.nf 48\f2rcstext\fP ::= \f2admin\fP {\f2delta\fP}* \f2desc\fP {\f2deltatext\fP}* 49.LP 50\f2admin\fP ::= \f3head\fP {\f2num\fP}\f3;\fP 51 { \f3branch\fP {\f2num\fP}\f3;\fP } 52 \f3access\fP {\f2id\fP}*\f3;\fP | 54.nf 55\f2rcstext\fP ::= \f2admin\fP {\f2delta\fP}* \f2desc\fP {\f2deltatext\fP}* 56.LP 57\f2admin\fP ::= \f3head\fP {\f2num\fP}\f3;\fP 58 { \f3branch\fP {\f2num\fP}\f3;\fP } 59 \f3access\fP {\f2id\fP}*\f3;\fP |
53 \f3symbols\fP {\f2id\fP \f3:\fP \f2num\fP}*\f3;\fP | 60 \f3symbols\fP {\f2sym\fP \f3:\fP \f2num\fP}*\f3;\fP |
54 \f3locks\fP {\f2id\fP \f3:\fP \f2num\fP}*\f3;\fP {\f3strict ;\fP} 55 { \f3comment\fP {\f2string\fP}\f3;\fP } 56 { \f3expand\fP {\f2string\fP}\f3;\fP } 57 { \f2newphrase\fP }* 58.LP 59\f2delta\fP ::= \f2num\fP 60 \f3date\fP \f2num\fP\f3;\fP 61 \f3author\fP \f2id\fP\f3;\fP --- 4 unchanged lines hidden (view full) --- 66.LP 67\f2desc\fP ::= \f3desc\fP \f2string\fP 68.LP 69\f2deltatext\fP ::= \f2num\fP 70 \f3log\fP \f2string\fP 71 { \f2newphrase\fP }* 72 \f3text\fP \f2string\fP 73.LP | 61 \f3locks\fP {\f2id\fP \f3:\fP \f2num\fP}*\f3;\fP {\f3strict ;\fP} 62 { \f3comment\fP {\f2string\fP}\f3;\fP } 63 { \f3expand\fP {\f2string\fP}\f3;\fP } 64 { \f2newphrase\fP }* 65.LP 66\f2delta\fP ::= \f2num\fP 67 \f3date\fP \f2num\fP\f3;\fP 68 \f3author\fP \f2id\fP\f3;\fP --- 4 unchanged lines hidden (view full) --- 73.LP 74\f2desc\fP ::= \f3desc\fP \f2string\fP 75.LP 76\f2deltatext\fP ::= \f2num\fP 77 \f3log\fP \f2string\fP 78 { \f2newphrase\fP }* 79 \f3text\fP \f2string\fP 80.LP |
74\f2num\fP ::= {\f2digit\fP{\f3.\fP}}+ | 81\f2num\fP ::= {\f2digit\fP | \f3.\fP}+ |
75.LP | 82.LP |
76\f2digit\fP ::= \f30\fP | \f31\fP | .\|.\|. | \f39\fP | 83\f2digit\fP ::= \f30\fP | \f31\fP | \f32\fP | \f33\fP | \f34\fP | \f35\fP | \f36\fP | \f37\fP | \f38\fP | \f39\fP |
77.LP | 84.LP |
78\f2id\fP ::= \f2letter\fP{\f2idchar\fP}* | 85\f2id\fP ::= {\f2num\fP} \f2idchar\fP {\f2idchar\fP | \f2num\fP}* |
79.LP | 86.LP |
80\f2letter\fP ::= any letter | 87\f2sym\fP ::= {\f2digit\fP}* \f2idchar\fP {\f2idchar\fP | \f2digit\fP}* |
81.LP 82\f2idchar\fP ::= any visible graphic character except \f2special\fP 83.LP 84\f2special\fP ::= \f3$\fP | \f3,\fP | \f3.\fP | \f3:\fP | \f3;\fP | \f3@\fP 85.LP 86\f2string\fP ::= \f3@\fP{any character, with \f3@\fP doubled}*\f3@\fP 87.LP 88\f2newphrase\fP ::= \f2id\fP \f2word\fP* \f3;\fP 89.LP 90\f2word\fP ::= \f2id\fP | \f2num\fP | \f2string\fP | \f3:\fP 91.fi 92.PP 93Identifiers are case sensitive. Keywords are in lower case only. | 88.LP 89\f2idchar\fP ::= any visible graphic character except \f2special\fP 90.LP 91\f2special\fP ::= \f3$\fP | \f3,\fP | \f3.\fP | \f3:\fP | \f3;\fP | \f3@\fP 92.LP 93\f2string\fP ::= \f3@\fP{any character, with \f3@\fP doubled}*\f3@\fP 94.LP 95\f2newphrase\fP ::= \f2id\fP \f2word\fP* \f3;\fP 96.LP 97\f2word\fP ::= \f2id\fP | \f2num\fP | \f2string\fP | \f3:\fP 98.fi 99.PP 100Identifiers are case sensitive. Keywords are in lower case only. |
94The sets of keywords and identifiers may overlap. 95In most environments RCS uses the ISO 8859/1 encoding: 96letters are octal codes 101\-132, 141\-172, 300\-326, 330\-366 and 370-377, | 101The sets of keywords and identifiers can overlap. 102In most environments \*r uses the \s-1ISO\s0 8859/1 encoding: |
97visible graphic characters are codes 041\-176 and 240\-377, 98and white space characters are codes 010\-015 and 040. 99.PP | 103visible graphic characters are codes 041\-176 and 240\-377, 104and white space characters are codes 010\-015 and 040. 105.PP |
106Dates, which appear after the 107.B date 108keyword, are of the form 109\f2Y\fP\f3.\fP\f2mm\fP\f3.\fP\f2dd\fP\f3.\fP\f2hh\fP\f3.\fP\f2mm\fP\f3.\fP\f2ss\fP, 110where 111.I Y 112is the year, 113.I mm 114the month (01\-12), 115.I dd 116the day (01\-31), 117.I hh 118the hour (00\-23), 119.I mm 120the minute (00\-59), 121and 122.I ss 123the second (00\-60). 124.I Y 125contains just the last two digits of the year 126for years from 1900 through 1999, 127and all the digits of years thereafter. 128Dates use the Gregorian calendar; times use UTC. 129.PP |
|
100The 101.I newphrase 102productions in the grammar are reserved for future extensions 103to the format of \*r files. 104No 105.I newphrase 106will begin with any keyword already in use. 107.PP --- 18 unchanged lines hidden (view full) --- 126If empty, the default 127branch is the highest branch on the trunk. 128.PP 129All 130.I delta 131nodes whose numbers consist of 132.RI 2 n 133fields | 130The 131.I newphrase 132productions in the grammar are reserved for future extensions 133to the format of \*r files. 134No 135.I newphrase 136will begin with any keyword already in use. 137.PP --- 18 unchanged lines hidden (view full) --- 156If empty, the default 157branch is the highest branch on the trunk. 158.PP 159All 160.I delta 161nodes whose numbers consist of 162.RI 2 n 163fields |
134.RI ( n >=2) | 164.RI ( n \(>=2) |
135(e.g., 3.1.1.1, 2.1.2.2, etc.) 136are linked as follows. 137All nodes whose first 138.RI 2 n \-1 139number fields are identical are linked through the 140.B next 141field in order of increasing numbers. 142For each such sequence, 143the 144.I delta 145node whose number is identical to the first 146.RI 2 n \-2 147number fields of the deltas on that sequence is called the branchpoint. 148The 149.B branches 150field of a node contains a list of the 151numbers of the first nodes of all sequences for which it is a branchpoint. 152This list is ordered in increasing numbers. 153.LP | 165(e.g., 3.1.1.1, 2.1.2.2, etc.) 166are linked as follows. 167All nodes whose first 168.RI 2 n \-1 169number fields are identical are linked through the 170.B next 171field in order of increasing numbers. 172For each such sequence, 173the 174.I delta 175node whose number is identical to the first 176.RI 2 n \-2 177number fields of the deltas on that sequence is called the branchpoint. 178The 179.B branches 180field of a node contains a list of the 181numbers of the first nodes of all sequences for which it is a branchpoint. 182This list is ordered in increasing numbers. 183.LP |
184The following diagram shows an example of an \*r file's organization. 185.if !\np \{\ |
|
154.nf 155.vs 12 | 186.nf 187.vs 12 |
156.ne 38 157Example: 158.if t .in +0.5i | 188.ne 36 |
159.cs 1 20 160.eo 161 162 Head 163 | 164 | 165 v / \ 166 --------- / \ --- 23 unchanged lines hidden (view full) --- 190 v 191 --------- 192 \ 1.1 / 193 \ / 194 \ / 195 \ / 196 197.ec | 189.cs 1 20 190.eo 191 192 Head 193 | 194 | 195 v / \ 196 --------- / \ --- 23 unchanged lines hidden (view full) --- 220 v 221 --------- 222 \ 1.1 / 223 \ / 224 \ / 225 \ / 226 227.ec |
198.if t .in | |
199.cs 1 | 228.cs 1 |
200.ce 201Fig. 1: A revision tree | |
202.vs 203.fi | 229.vs 230.fi |
231.\} 232.if \np \{\ 233.lf 232 234.PS 4.250i 3.812i 235.\" -2.0625 -4.25 1.75 0 236.\" 0.000i 4.250i 3.812i 0.000i 237.nr 00 \n(.u 238.nf 239.nr 0x 1 240\h'3.812i' 241.sp -1 242.lf 242 243\h'2.062i-(\w'Head'u/2u)'\v'0.125i-(0v/2u)+0v+0.22m'Head 244.sp -1 245\h'2.062i'\v'0.250i'\D'l0.000i 0.500i' 246.sp -1 247\h'2.087i'\v'0.650i'\D'l-0.025i 0.100i' 248.sp -1 249\h'2.062i'\v'0.750i'\D'l-0.025i -0.100i' 250.sp -1 251\h'1.688i'\v'1.250i'\D'l0.750i 0.000i' 252.sp -1 253\h'2.438i'\v'1.250i'\D'l0.000i -0.500i' 254.sp -1 255\h'2.438i'\v'0.750i'\D'l-0.750i 0.000i' 256.sp -1 257\h'1.688i'\v'0.750i'\D'l0.000i 0.500i' 258.sp -1 259.lf 244 260\h'2.062i-(\w'2.1'u/2u)'\v'1.000i-(0v/2u)+0v+0.22m'2.1 261.sp -1 262\h'2.062i'\v'1.250i'\D'l0.000i 0.500i' 263.sp -1 264\h'2.087i'\v'1.650i'\D'l-0.025i 0.100i' 265.sp -1 266\h'2.062i'\v'1.750i'\D'l-0.025i -0.100i' 267.sp -1 268.lf 246 269\h'2.062i-(\w'1.3'u/2u)'\v'2.000i-(1v/2u)+0v+0.22m'1.3 270.sp -1 271\h'2.062i'\v'2.250i'\D'l-0.375i -0.500i' 272.sp -1 273\h'1.688i'\v'1.750i'\D'l0.750i 0.000i' 274.sp -1 275\h'2.438i'\v'1.750i'\D'l-0.375i 0.500i' 276.sp -1 277\h'1.875i'\v'2.000i'\D'~-0.500i 0.000i 0.000i -0.500i' 278.sp -1 279\h'1.350i'\v'1.600i'\D'l0.025i -0.100i' 280.sp -1 281\h'1.375i'\v'1.500i'\D'l0.025i 0.100i' 282.sp -1 283.lf 249 284\h'1.375i-(\w'1.3.1.1'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.3.1.1 285.sp -1 286\h'1.375i'\v'1.000i'\D'l-0.375i 0.500i' 287.sp -1 288\h'1.000i'\v'1.500i'\D'l0.750i 0.000i' 289.sp -1 290\h'1.750i'\v'1.500i'\D'l-0.375i -0.500i' 291.sp -1 292\h'2.062i'\v'2.250i'\D'l0.000i 0.500i' 293.sp -1 294\h'2.087i'\v'2.650i'\D'l-0.025i 0.100i' 295.sp -1 296\h'2.062i'\v'2.750i'\D'l-0.025i -0.100i' 297.sp -1 298.lf 252 299\h'2.062i-(\w'1.2'u/2u)'\v'3.000i-(1v/2u)+0v+0.22m'1.2 300.sp -1 301\h'2.062i'\v'3.250i'\D'l-0.375i -0.500i' 302.sp -1 303\h'1.688i'\v'2.750i'\D'l0.750i 0.000i' 304.sp -1 305\h'2.438i'\v'2.750i'\D'l-0.375i 0.500i' 306.sp -1 307\h'1.875i'\v'3.000i'\D'~-0.500i 0.000i -0.500i 0.000i -0.500i 0.000i 0.000i -0.500i' 308.sp -1 309\h'0.350i'\v'2.600i'\D'l0.025i -0.100i' 310.sp -1 311\h'0.375i'\v'2.500i'\D'l0.025i 0.100i' 312.sp -1 313.lf 255 314\h'0.375i-(\w'1.2.1.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.1.1 315.sp -1 316\h'0.375i'\v'2.000i'\D'l-0.375i 0.500i' 317.sp -1 318\h'0.000i'\v'2.500i'\D'l0.750i 0.000i' 319.sp -1 320\h'0.750i'\v'2.500i'\D'l-0.375i -0.500i' 321.sp -1 322\h'0.375i'\v'2.000i'\D'l0.000i -0.500i' 323.sp -1 324\h'0.350i'\v'1.600i'\D'l0.025i -0.100i' 325.sp -1 326\h'0.375i'\v'1.500i'\D'l0.025i 0.100i' 327.sp -1 328.lf 257 329\h'0.375i-(\w'1.2.1.3'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.1.3 330.sp -1 331\h'0.375i'\v'1.000i'\D'l-0.375i 0.500i' 332.sp -1 333\h'0.000i'\v'1.500i'\D'l0.750i 0.000i' 334.sp -1 335\h'0.750i'\v'1.500i'\D'l-0.375i -0.500i' 336.sp -1 337\h'2.250i'\v'3.000i'\D'~0.500i 0.000i 0.000i -0.500i' 338.sp -1 339\h'2.725i'\v'2.600i'\D'l0.025i -0.100i' 340.sp -1 341\h'2.750i'\v'2.500i'\D'l0.025i 0.100i' 342.sp -1 343.lf 261 344\h'2.750i-(\w'1.2.2.1'u/2u)'\v'2.250i-(1v/2u)+1v+0.22m'1.2.2.1 345.sp -1 346\h'2.750i'\v'2.000i'\D'l-0.375i 0.500i' 347.sp -1 348\h'2.375i'\v'2.500i'\D'l0.750i 0.000i' 349.sp -1 350\h'3.125i'\v'2.500i'\D'l-0.375i -0.500i' 351.sp -1 352\h'2.938i'\v'2.250i'\D'~0.500i 0.000i 0.000i -0.500i 0.000i -0.500i' 353.sp -1 354\h'3.413i'\v'1.350i'\D'l0.025i -0.100i' 355.sp -1 356\h'3.438i'\v'1.250i'\D'l0.025i 0.100i' 357.sp -1 358.lf 264 359\h'3.438i-(\w'\s-21.2.2.1.1.1\s0'u/2u)'\v'1.000i-(1v/2u)+1v+0.22m'\s-21.2.2.1.1.1\s0 360.sp -1 361\h'3.438i'\v'0.750i'\D'l-0.375i 0.500i' 362.sp -1 363\h'3.062i'\v'1.250i'\D'l0.750i 0.000i' 364.sp -1 365\h'3.812i'\v'1.250i'\D'l-0.375i -0.500i' 366.sp -1 367\h'2.750i'\v'2.000i'\D'l0.000i -0.500i' 368.sp -1 369\h'2.725i'\v'1.600i'\D'l0.025i -0.100i' 370.sp -1 371\h'2.750i'\v'1.500i'\D'l0.025i 0.100i' 372.sp -1 373.lf 267 374\h'2.750i-(\w'1.2.2.2'u/2u)'\v'1.250i-(1v/2u)+1v+0.22m'1.2.2.2 375.sp -1 376\h'2.750i'\v'1.000i'\D'l-0.375i 0.500i' 377.sp -1 378\h'2.375i'\v'1.500i'\D'l0.750i 0.000i' 379.sp -1 380\h'3.125i'\v'1.500i'\D'l-0.375i -0.500i' 381.sp -1 382\h'2.062i'\v'3.250i'\D'l0.000i 0.500i' 383.sp -1 384\h'2.087i'\v'3.650i'\D'l-0.025i 0.100i' 385.sp -1 386\h'2.062i'\v'3.750i'\D'l-0.025i -0.100i' 387.sp -1 388.lf 270 389\h'2.062i-(\w'1.1'u/2u)'\v'4.000i-(1v/2u)+0v+0.22m'1.1 390.sp -1 391\h'2.062i'\v'4.250i'\D'l-0.375i -0.500i' 392.sp -1 393\h'1.688i'\v'3.750i'\D'l0.750i 0.000i' 394.sp -1 395\h'2.438i'\v'3.750i'\D'l-0.375i 0.500i' 396.sp -1 397.sp 4.250i+1 398.if \n(00 .fi 399.br 400.nr 0x 0 401.lf 271 402.PE 403.lf 272 404.\} |
|
204.PP 205.SH IDENTIFICATION 206.de VL 207\\$2 208.. 209Author: Walter F. Tichy, 210Purdue University, West Lafayette, IN, 47907. 211.br | 405.PP 406.SH IDENTIFICATION 407.de VL 408\\$2 409.. 410Author: Walter F. Tichy, 411Purdue University, West Lafayette, IN, 47907. 412.br |
212Revision Number: \*(Rv; Release Date: \*(Dt. | 413Manual Page Revision: \*(Rv; Release Date: \*(Dt. |
213.br | 414.br |
214Copyright \(co 1982, 1988, 1989 by Walter F. Tichy. | 415Copyright \(co 1982, 1988, 1989 Walter F. Tichy. |
215.br | 416.br |
216Copyright \(co 1990, 1991 by Paul Eggert. | 417Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert. |
217.SH SEE ALSO | 418.SH SEE ALSO |
218ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsmerge(1), rlog(1), | 419rcsintro(1), ci(1), co(1), ident(1), rcs(1), rcsclean(1), rcsdiff(1), 420rcsmerge(1), rlog(1) |
219.br 220Walter F. Tichy, 221\*r\*-A System for Version Control, 222.I "Software\*-Practice & Experience" 223.BR 15 , 2247 (July 1985), 637-654. | 421.br 422Walter F. Tichy, 423\*r\*-A System for Version Control, 424.I "Software\*-Practice & Experience" 425.BR 15 , 4267 (July 1985), 637-654. |