Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rcsfile(5L) — 386BSD 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ci(1L)

co(1L)

ident(1L)

rcs(1L)

rcsdiff(1L)

rcsmerge(1L)

rlog(1L)



RCSFILE(5L)                                           RCSFILE(5L)


NAME
       rcsfile - format of RCS file

DESCRIPTION
       An  RCS  file is an ASCII file. Its contents are described
       by the grammar below.  The  text  is  free  format,  i.e.,
       spaces,  tabs and new lines have no significance except in
       strings.  Strings  are  enclosed  by  `@'.   If  a  string
       contains a `@', it must be doubled.

       The  meta syntax uses the following conventions: `|' (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; `<' and `>'
       enclose nonterminals.



       <rcstext>      ::=  <admin> {<delta>}* <desc> {<deltatext>}*

       <admin>        ::=  head      {<num>};
                           branch    {<num>};
                           access    {<id>}*;
                           symbols   {<id> : <num>}*;
                           locks     {<id> : <num>}*;
                           comment   {<string>};

       <delta>        ::=  <num>
                           date      <num>;
                           author    <id>;
                           state     {<id>};
                           branches  {<num>}*;
                           next      {<num>};

       <desc>         ::=  desc      <string>

       <deltatext>    ::=  <num>
                           log       <string>
                           text      <string>


       <num>          ::=  {<digit>{.}}+

       <digit>        ::=  0 | 1 | ... | 9

       <id>           ::=  <letter>{<idchar>}*

       <letter>       ::=  A | B | ... | Z | a | b | ... | z

       <idchar>       ::=  Any printing ASCII character except space,
                           tab, carriage return, new line, and <special>.

       <special>      ::=  ; | : | , | @



University                    Purdue                            1




RCSFILE(5L)                                           RCSFILE(5L)


       <string>       ::=  @{any ASCII character, with `@' doubled}*@


       Identifiers are case sensitive. Keywords are in lower case
       only.  The sets of keywords and identifiers may overlap.

       The  <delta>  nodes  form  a tree. All nodes whose numbers
       consist of a single pair (e.g., 2.3, 2.1, 1.3, etc.)   are
       on  the  "trunk", and are linked through the next field in
       order of decreasing numbers. The head field in the <admin>
       node  points  to the head of that sequence (i.e., contains
       the highest pair).  The branch  node  in  the  admin  node
       indicates  the  default  branch (or revision) for most RCS
       operations. If empty, the default branch  is  the  highest
       branch on the trunk.

       All  <delta>  nodes  whose  numbers  consist  of 2n fields
       (n=>2) (e.g.,  3.1.1.1,  2.1.2.2,  etc.)   are  linked  as
       follows.  All  nodes  whose first (2n)-1 number fields are
       identical are linked through the next field  in  order  of
       increasing  numbers.   For each such sequence, the <delta>
       node whose number is identical to the first 2(n-1)  number
       fields  of  the  deltas  on  that  sequence  is called the
       branchpoint.  The branches field 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.






























University                    Purdue                            2




RCSFILE(5L)                                           RCSFILE(5L)


       Example:
                                  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  /
                                 \     /
                                  \   /
                                   \ /


                        Fig. 1: A revision tree


IDENTIFICATION
       Author:   Walter   F.   Tichy,   Purdue  University,  West
       Lafayette, IN, 47907.
       Revision Number: 1.2 ; Release Date: 89/05/02 .
       Copyright (C) 1982, 1988, 1989 by Walter F. Tichy.

SEE ALSO
       ci(1L),   co(1L),   ident(1L),    rcs(1L),    rcsdiff(1L),
       rcsmerge(1L), rlog(1L),
       Walter  F.  Tichy, "Design, Implementation, and Evaluation
       of a Revision Control System," in Proceedings of  the  6th
       International  Conference  on  Software Engineering, IEEE,
       Tokyo, Sept. 1982.




University                    Purdue                            3


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026