sccsfile - format of SCCS file
An SCCS file is an ASCII file consisting of six logical parts:
checksum Sum of all characters in the file except the first
delta table Contains information about each delta.
user names Login names and/or numerical group IDs of users
who are allowed to add deltas.
flags Definitions of internal keywords. comments
Arbitrary descriptive information about the file.
body Actual text lines intermixed with control lines.
Throughout an SCCS file there are lines beginning with the ASCII SOH
(start of heading) character (octal 001). This character is hereafter
referred to as the control character and is 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. All lines in the SCCS file are limited to BUFSIZ (defined
in <stdio.h>) characters in length.
Entries of the form DDDDD represent a five-digit string (a number
between 00000 and 99999).
The following describes each logical part of an SCCS file detail:
The checksum is the first line of an SCCS file. The form of
the line is:
The value of the checksum is the sum of all characters
except those in the first line. The @h sequence provides a
magic number consisting of the two bytes 0x01 and 0x68.
(Other versions of UNIX-like operating systems usually use
this same value but it may be displayed or documented as a
single number with a different byte order.)
The delta table consists of a variable number of entries of
@d <type> <SID> yr/mo/da hr:mi:se <pgmr> DDDDD DDDDD
@i DDDDD ...
@x DDDDD ...
@g DDDDD ...
@m <MR number>
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
@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 SID (SCCS ID) of the delta, the date
and time when the delta was created, 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 optional.
The @m lines (optional) each contain one MR (modification
request) 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 are allowed to 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 specified 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>
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000
@f c <ceiling>
@f d <default-sid>
@f l <lock-releases>
@f q <user defined>
@f z <reserved for use in interfaces>
The above flags function as follows:
t Defines the replacement for the %Y% identification
v Controls prompting for MR numbers in addition to
comments. If the optional text is present, it
defines an MR number-validity checking program.
i Controls the warning/error aspect of the ``No id
keywords'' message. When the i flag is not
present, the message is only a warning; when the i
flag is present, this message causes a fatal error
(a get on the file fails, or the delta is not
b When the b flag is present, the -b keyletter can
be used on the get command to cause a branch in
the delta tree.
m Defines the first choice for the replacement text
of the %M% identification keyword.
f Defines the ``floor'' release; the release below
which no deltas can be added.
c Defines the ``ceiling'' release; the release above
which no deltas can be added.
d Defines the default SID to be used when none is
specified on a get command.
n 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
(such as, 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
j Causes get to allow concurrent edits of the same
base SID. See admin(1) for restrictions.
Hewlett-Packard Company - 3 - HP-UX Release 11i: November 2000
l Defines a list of releases that are locked against
editing (get(1) with the -e keyletter).
q Defines the replacement for the %Q% identification
z Used in certain specialized interface programs.
Arbitrary text is surrounded by the bracketing lines @t and
@T. The comments section typically contains a description
of the file's purpose.
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:
Type Represented By:
insert @I DDDDD
delete @D DDDDD
end @E DDDDD
The digit string is the serial number corresponding to the
delta for the control line.
SCCS files can be any length, but the number of lines in the text file
itself cannot exceed 99999 lines.
admin(1), delta(1), get(1), prs(1).
Hewlett-Packard Company - 4 - HP-UX Release 11i: November 2000