sccsfile(4) CLIX sccsfile(4)
NAME
sccsfile - SCCS file format
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), usernames (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
@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 ...
...
@e
The first line (@s) contains the number of lines
inserted/deleted/unchanged, respectively. The second line
2/94 - Intergraph Corporation 1
sccsfile(4) CLIX sccsfile(4)
(@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.
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.
Usernames The list of login names and/or numerical group IDs of users
who may add deltas to the file, separated by newlines. 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 will cause
2 Intergraph Corporation - 2/94
sccsfile(4) CLIX sccsfile(4)
a ``fatal'' error (the file will not be gotten, or the delta
will not be made). When the b flag is present the -b flag 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 (for
example, 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 flag). 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, 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.
RELATED INFORMATION
Commands: admin(1), delta(1), get(1), prs(1)
2/94 - Intergraph Corporation 3