sccsfile - format of SCCS file
An SCCS (Source Code Control System) file is an ASCII file. It consists
of six logical parts: the checksum, the delta table (contains
information about each delta), user names (contains login 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 character is hereafter
referred to as the control character and will be represented graphically
as @. Any line described below which is not depicted as beginning with
the control character is prevented from beginning with the control
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.
The checksum is the first line of an SCCS file. The form of the
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)
The delta table consists of a variable number of entries of the
@d <type> <SCCS ID> yr/mo/da hr:mi:se <pgmr> DDDDD DDDDD
@i DDDDD ...
@x DDDDD ...
@g DDDDD ...
@m <MR number>
@c <comments> ...
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 of creation of the
login name corresponding to the real user ID at the time the delta
was created, and the serial numbers of the delta and its
The @i, @x, and @g lines contain the serial numbers of deltas
included, excluded, and ignored, respectively. These lines are
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.
The list of login names and/or numerical group IDs of users who may
add deltas to the file, separated by new-lines. The lines
containing these login 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.
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 m <module name>
@f f <floor>
@f c <ceiling>
@f d <default-sid>
@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 (e.g., 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.
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
respectively. The digit string is the serial number corresponding
to the delta for the control line.
admin(1), delta(1), get(1), prs(1).
PPPPaaaaggggeeee 3333 [ Back ]