|
|
1.1 ! root 1: .TH RCSFILE 5L "" "Purdue University" ! 2: .SH NAME ! 3: rcsfile \- format of RCS file ! 4: .SH DESCRIPTION ! 5: An RCS file is an ASCII file. Its contents are described by the grammar ! 6: below. The text is free format, i.e., spaces, tabs and new lines have ! 7: no significance except in strings. Strings are enclosed by `@'. ! 8: If a string contains a `@', it must be doubled. ! 9: .PP ! 10: The meta syntax uses the following conventions: `|' (bar) separates ! 11: alternatives; `{' and `}' enclose optional phrases; `{' and `}*' enclose ! 12: phrases that may be repeated zero or more times; ! 13: `{' and '}+' enclose phrases that must appear at least once and may be ! 14: repeated; ! 15: `<' and `>' enclose nonterminals. ! 16: .PP ! 17: .ta 1.5i 2.0i 3i ! 18: .fc ~ ! 19: .nf ! 20: ! 21: ! 22: <rcstext> ~~::=~~<admin> {<delta>}* <desc> {<deltatext>}* ! 23: ! 24: <admin> ~~::=~~\fBhead\fR ~~{<num>}; ! 25: ~~ ~~\fBbranch\fR ~~{<num>}; ! 26: ~~ ~~\fBaccess\fR ~~{<id>}*; ! 27: ~~ ~~\fBsymbols\fR ~~{<id> : <num>}*; ! 28: ~~ ~~\fBlocks\fR ~~{<id> : <num>}*; ! 29: ~~ ~~\fBcomment\fR ~~{<string>}; ! 30: ! 31: <delta> ~~::=~~<num> ! 32: ~~ ~~\fBdate\fR ~~<num>; ! 33: ~~ ~~\fBauthor\fR ~~<id>; ! 34: ~~ ~~\fBstate\fR ~~{<id>}; ! 35: ~~ ~~\fBbranches\fR ~~{<num>}*; ! 36: ~~ ~~\fBnext\fR ~~{<num>}; ! 37: ! 38: <desc> ~~::=~~\fBdesc\fR ~~<string> ! 39: ! 40: <deltatext>~~::=~~<num> ! 41: ~~ ~~\fBlog\fR ~~<string> ! 42: ~~ ~~\fBtext\fR ~~<string> ! 43: ! 44: ! 45: <num> ~~::=~~{<digit>{.}}+ ! 46: ! 47: <digit> ~~::=~~0 | 1 | ... | 9 ! 48: ! 49: <id> ~~::=~~<letter>{<idchar>}* ! 50: ! 51: <letter> ~~::=~~A | B | ... | Z | a | b | ... | z ! 52: ! 53: <idchar> ~~::=~~Any printing ASCII character except space, ! 54: ~~ ~~tab, carriage return, new line, and <special>. ! 55: ! 56: <special> ~~::=~~; | : | , | @ ! 57: ! 58: <string> ~~::=~~@{any ASCII character, with `@' doubled}*@ ! 59: ! 60: .fi ! 61: .PP ! 62: Identifiers are case sensitive. Keywords are in lower case only. ! 63: The sets of keywords and identifiers may overlap. ! 64: .PP ! 65: The <delta> nodes form a tree. All nodes whose numbers ! 66: consist of a single pair ! 67: (e.g., 2.3, 2.1, 1.3, etc.) ! 68: are on the "trunk", and are linked through the \fBnext\fR ! 69: field in order of decreasing numbers. The \fBhead\fR field in the ! 70: <admin> node points to the head of that sequence (i.e., contains ! 71: the highest pair). ! 72: The \fBbranch\fR node in the admin node indicates the default ! 73: branch (or revision) for most RCS operations. If empty, the default ! 74: branch is the highest branch on the trunk. ! 75: .PP ! 76: All <delta> nodes whose numbers consist of 2n fields (n\(>=2) ! 77: (e.g., 3.1.1.1, 2.1.2.2, etc.) ! 78: are linked as follows. All nodes whose first (2n)-1 number fields are identical ! 79: are linked through the \fBnext\fR field in order of increasing numbers. ! 80: For each such sequence, ! 81: the <delta> node whose number is identical to the first ! 82: 2(n-1) number fields of the deltas on that sequence is called the branchpoint. ! 83: The \fBbranches\fR field of a node contains a list of the ! 84: numbers of the first nodes of all sequences for which it is a branchpoint. ! 85: This list is ordered in increasing numbers. ! 86: .sp 1 ! 87: .ne 38 ! 88: Example: ! 89: .eo ! 90: .nf ! 91: .vs 12pts ! 92: .cs 1 20 ! 93: .if t .in +0.5i ! 94: Head ! 95: | ! 96: | ! 97: v ! 98: --------- ! 99: / \ / \ | | / \ / \ ! 100: / \ / \ | 2.1 | / \ / \ ! 101: / \ / \ | | / \ / \ ! 102: /1.2.1.3\ /1.3.1.1\ | | /1.2.2.2\ /1.2.2.1.1.1\ ! 103: --------- --------- --------- --------- ------------- ! 104: ^ ^ | ^ ^ ! 105: | | | | | ! 106: | | v | | ! 107: / \ | --------- / \ | ! 108: / \ | \ 1.3 / / \ | ! 109: / \ ---------\ / / \----------- ! 110: /1.2.1.1\ \ / /1.2.2.1\ ! 111: --------- \ / --------- ! 112: ^ | ^ ! 113: | | | ! 114: | v | ! 115: | --------- | ! 116: | \ 1.2 / | ! 117: ----------------------\ /--------- ! 118: \ / ! 119: \ / ! 120: | ! 121: | ! 122: v ! 123: --------- ! 124: \ 1.1 / ! 125: \ / ! 126: \ / ! 127: \ / ! 128: ! 129: ! 130: .if t .in -0.5i ! 131: .cs 1 ! 132: .ec ! 133: .ce ! 134: Fig. 1: A revision tree ! 135: .fi ! 136: .PP ! 137: .SH IDENTIFICATION ! 138: .de VL ! 139: \\$2 ! 140: .. ! 141: Author: Walter F. Tichy, ! 142: Purdue University, West Lafayette, IN, 47907. ! 143: .sp 0 ! 144: Revision Number: ! 145: .VL $Revision: 1.2 $ ! 146: ; Release Date: ! 147: .VL $Date: 89/05/02 11:16:56 $ ! 148: \&. ! 149: .sp 0 ! 150: Copyright \(co 1982, 1988, 1989 by Walter F. Tichy. ! 151: .SH SEE ALSO ! 152: ci(1L), co(1L), ident(1L), rcs(1L), rcsdiff(1L), rcsmerge(1L), rlog(1L), ! 153: .br ! 154: Walter F. Tichy, "Design, Implementation, and Evaluation of a Revision Control ! 155: System," in \fIProceedings of the 6th International Conference on Software ! 156: Engineering\fR, IEEE, Tokyo, Sept. 1982.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.