SCCSFILE(5)

NAME
sccsfile - format of an SCCS history file

DESCRIPTION
An SCCS file is an ASCII file consisting of six logical parts:

checksum
    character count used for error detection

delta table
    log containing version info and statistics about each delta

usernames
    login names and/or group IDs of users who may add deltas

flags
    definitions of internal keywords

comments
    arbitrary descriptive information about the file

body
    the actual text lines intermixed with control lines

Each section is described in detail below.

  Conventions
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 as `^A'. If a line described below is not depicted as beginning with the control character, it cannot do so and still be within SCCS file format.

Entries of the form ddddd represent a five digit string (a number between 00000 and 99999).

  Checksum
The checksum is the first line of an SCCS file. The form of the line is:

    ^A hddddd

The value of the checksum is the sum of all characters, except those contained in the first line. The ^Ah provides a magic number of (octal) 064001.

  Delta Table
The delta table consists of a variable number of entries of the form:
    ^As inserted/deleted/unchanged
    ^Ai include-list
    ^Ax exclude-list
    ^Ag ignored-list
    ^Am mr-number
    ...
    ^Ac comments ...
    ...
    ^Ae
The first line (^As) contains the number of lines inserted/deleted/unchanged respectively. The second line (^Ad) contains the type of the delta (normal: D, and removed: R), the SCCS ID of the delta, the date and time of creation of the delta, the user-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 ^Ai, ^Ax, and ^Ag lines contain the serial numbers of deltas included, excluded, and ignored, respectively. These lines do not always appear.

The ^Am lines (optional) each contain one MR number associated with the delta; the ^Ac lines contain comments associated with the delta.

The ^Ae line ends the delta table entry.

  User Names

The list of user-names and/or numerical group IDs of users who may add deltas to the file, separated by NEWLINE characters. The lines containing these login names and/or numerical group IDs are surrounded by the bracketing lines ^Au and ^AU. An empty list allows anyone to make a delta.

  Flags
Flags are keywords that are used internally (see sccs-admin(1) for more information on their use). Each flag line takes the form:

    ^Af flag
        optional text

The following flags are defined in order of appearance:

^Af t type-of-program
Defines the replacement for the %T% ID keyword.

^Af v program-name
Controls prompting for MR numbers in addition to comments; if the optional text is present it defines an MR number validity checking program.

^Af i
    Indicates that the `No id keywords' message is to generate an error that terminates the SCCS command. Otherwise, the message is treated as a warning only.

^Af b
    Indicates that the -b option may be used with the SCCS get command to create a branch in the delta tree.

^Af m module name
Defines the first choice for the replacement text of the %M% ID keyword.

^Af f floor
Defines the “floor” release; the release below which no deltas may be added.

^Af c ceiling
Defines the “ceiling” release; the release above which no deltas may be added.

^Af d default-sid
The d flag defines the default SID to be used when none is specified on an SCCS get command.

^Af n
    The n flag enables the SCCS delta command 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).

^Af j
    Enables the SCCS get command to allow concurrent edits of the same base SID.

^Af l lock-releases
Defines a list of releases that are locked against editing.

^Af q user defined
Defines the replacement for the %Q% ID keyword.

^Af e 0|1
The e flag indicates whether a source file is encoded or not. A 1 indicates that the file is encoded. Source files need to be encoded when they contain control characters, or when they do not end with a NEWLINE. The e flag allows files that contain binary data to be checked in.

  Comments
Arbitrary text surrounded by the bracketing lines ^At and ^AT. 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:

    ^AI ddddd
    ^AD ddddd
    ^AE ddddd

respectively. The digit string is the serial number corresponding to the delta for the control line.

SEE ALSO
sccs(1), sccs-admin(1), sccs-cdc(1), sccs-comb(1), sccs-delta(1), sccs-get(1), sccs-help(1), sccs-prs(1), sccs-prt(1), sccs-rmdel(1), sccs-sact(1), sccs-sccsdiff(1), sccs-unget(1), sccs-val(1), what(1)