SCCSFILE(4) 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
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 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:
Page 1 May 1989
SCCSFILE(4) SCCSFILE(4)
@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 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, respectively.
Page 2 May 1989
SCCSFILE(4) SCCSFILE(4)
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 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.
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>
Page 3 May 1989
SCCSFILE(4) SCCSFILE(4)
@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.
Body
The body consists of text lines and control lines.
Text lines do not begin with the control character,
Page 4 May 1989
SCCSFILE(4) SCCSFILE(4)
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).
Page 5 May 1989