Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

admin(1)

delta(1)

get(1)

prs(1)

SCCSFILE(5)                          BSD                           SCCSFILE(5)



NAME
     sccsfile - format of Source Code Control System (SCCS) file

DESCRIPTION
     An SCCS file is an ASCII file.  It consists of six logical parts:  the
     checksum, the delta table (contains information about each delta), user
     names (contains log-in names and/or numerical group IDs of users who may
     add deltas), flags (contains definitions of internal keywords), comments
     (contains arbitrary descriptive information about the file), and the body
     (contains the actual text lines intermixed with control lines).

     Throughout an SCCS file there are lines which begin with the ASCII SOH
     (start of heading) character (octal 001).  This is the control character
     and is represented graphically in these pages as @.  Any line described
     below which is not depicted as beginning with the control character is
     prevented from beginning with the control character.

     Entries of the form DDDDD represent a five-digit string (a number between
     00000 and 99999).

     Each logical part of an SCCS file is described in detail below.

     Checksum
          The checksum is the first line of an SCCS file.  The form of the
          line is:

               @hDDDDD

          The value of the checksum is the sum of all characters, except those
          of the first line.  The @h provides a magic number of (octal)
          064001.

     delta table
          The delta table consists of a variable number of entries of the
          form:
               @s DDDDD/DDDDD/DDDDD
               @d <type> <SCCS ID> yr/mo/da hr:mi:se <pgmr> DDDDD DDDDD
               @i DDDDD ...
               @x DDDDD ...
               @g DDDDD ...
               @m <MR number>
                 .
                 .
                 .
               @c <comments> ...
                 .
                 .
                 .
               @e

          The first line (@s) contains the number of lines
          inserted/deleted/unchanged, respectively.  The second line (@d)
          contains the type of the delta (currently, normal: D, and removed:
          R), the SCCS ID of the delta, the date and time the delta was
          created, the log-in name corresponding to the real user ID at the
          time the delta was created, and the serial numbers of the delta and
          its predecessor, respectively.

          The @i, @x, and @g lines contain the serial numbers of deltas
          included, excluded, and ignored, respectively.  These lines are
          optional.
          The @m lines (optional) each contain one MR number associated with
          the delta; the @c lines contain comments associated with the delta.

          The @e line ends the delta table entry.

     User names
          The list of log-in names and/or numerical group IDs of users who may
          add deltas to the file, separated by new-lines.  The lines
          containing these log-in names and/or numerical group IDs are
          surrounded by the bracketing lines @u and @U.  An empty list allows
          anyone to make a delta.  Any line starting with a !  prohibits the
          succeeding group or user from making deltas.

     Flags
          Keywords used internally (see admin(1) for more information on their
          use).  Each flag line takes the form:

               @f <flag> <optional text>

          The following flags are defined:
               @f t <type of program>
               @f v <program name>
               @f i <keyword string>
               @f b
               @f m <module name>
               @f f <floor>
               @f c <ceiling>
               @f d <default SID>
               @f n
               @f j
               @f l <lock-releases>
               @f q <user defined>
               @f z <reserved for use in interfaces>

          The t flag defines the replacement for the %Y% identification
          keyword.  The v flag controls prompting for MR numbers in addition
          to comments; if the optional text is present it defines an MR number
          validity checking program.  The i flag controls the warning/error
          aspect of the "No ID keywords" message.  When the i flag is not
          present, this message is only a warning; when the i flag is present,
          this message will cause a "fatal" error (the file will not be
          gotten, or the delta will not be made).  When the b flag is present
          the -b keyletter may be used on the get command to cause a branch in
          the delta tree.  The m flag defines the first choice for the
          replacement text of the %M% identification keyword.  The f flag
          defines the "floor" release; the release below which no deltas may
          be added.  The c flag defines the "ceiling" release; the release
          above which no deltas may be added.  The d flag defines the default
          SID to be used when none is specified on a get command.  The n flag
          causes delta to insert a "null" delta (a delta that applies no
          changes) in those releases that are skipped when a delta is made in
          a new release (for example, when delta 5.1 is made after delta 2.7,
          releases 3 and 4 are skipped).  The absence of the n flag causes
          skipped releases to be completely empty.  The j flag causes get to
          allow concurrent edits of the same base SID.  The l flag defines a
          list of releases that are locked against editing (get(1) with the -e
          keyletter).  The q flag defines the replacement for the %Q%
          identification keyword.  The z flag is used in certain specialized
          interface programs.

     Comments
          Arbitrary text is surrounded by the bracketing lines @t and @T.  The
          comments section typically will contain a description of the file's
          purpose.

     Body The body consists of text lines and control lines.  Text lines do
          not begin with the control character, control lines do.  There are
          three kinds of control lines:  insert,delete, and end, represented
          by:

               @I DDDDD
               @D DDDDD
               @E DDDDD

          respectively.  The digit string is the serial number corresponding
          to the delta for the control line.

SEE ALSO
     admin(1), delta(1), get(1), prs(1)

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