Amiga Unix — 68040 · 68060

Manual pages › File formats and configuration files (4)

sccsfile(4)

format of SCCS file

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

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 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%  identifica-
tion  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 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 special-
ized 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).