SCCSFILE(4) INTERACTIVE UNIX System SCCSFILE(4)
NAME
sccsfile - format of SCCS file
DESCRIPTION
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 informa-
tion 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 con-
trol 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> ...
.
.
.
Rev. Page 1
SCCSFILE(4) INTERACTIVE UNIX System SCCSFILE(4)
@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
of creation of the delta, 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 predecessor, respec-
tively.
The @i, @x, and @g lines contain the serial numbers of del-
tas included, excluded, and ignored, respectively. These
lines are optional.
The @m lines (optional) each contain one MR number associ-
ated with the delta; the @c lines contain comments associ-
ated with the delta.
The @e line ends the delta table entry.
User names 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 an ! 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% identifica-
tion 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
Rev. Page 2
SCCSFILE(4) INTERACTIVE UNIX System SCCSFILE(4)
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 com-
pletely 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 spe-
cialized interface programs.
Comments Arbitrary text is surrounded by the bracketing
lines @t and @T. The comments section typically will con-
tain 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).
Rev. Page 3