sccsfile(4) UNIX System V 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 that 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,
depending on byte order.
Delta table
The delta table consists of a variable number of entries of one of the
following forms:
@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 (normal: D or removed: R), the SCCS ID of the
delta, the date and time of creation of the delta, the login name
10/89 Page 1
sccsfile(4) UNIX System V sccsfile(4)
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 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>
@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 causes 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
Page 2 10/89
sccsfile(4) UNIX System V sccsfile(4)
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. The q flag
defines the replacement for the %Q% identification keyword. The z flag
is used in 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)
10/89 Page 3