sccs-admin, admin - create and administer SCCS history files
/usr/ccs/bin/admin [-bhnz] [-a username | groupid] ... [-
d flag] ... [-e username | groupid] ... [ -f flag [value]]
... [ -i [filename ]] [-m mr-list] [-rrelease] [ -t
[description-file]] [ -y [comment]] s.filename...
The admin command creates or modifies the flags and other
parameters of SCCS history files. Filenames of SCCS history
files begin with the `s.' prefix, and are referred to as
s.files, or ``history'' files.
The named s.file is created if it does not exist already.
Its parameters are initialized or modified according to the
options you specify. Parameters not specified are given
default values when the file is initialized, otherwise they
If a directory name is used in place of the s.filename argu-
ment, the admin command applies to all s.files in that
directory. Unreadable s.files produce an error. The use of
`-' as the s.filename argument indicates that the names of
files are to be read from the standard input, one s.file per
The following options are supported:
-a username | groupid
Adds a user name, or a numerical group ID, to the list
of users who may check deltas in or out. If the list
is empty, any user is allowed to do so.
-b Forces encoding of binary data. Files that contain
ASCII NUL or other control characters, or that do not
end with a NEWLINE, are recognized as binary data
files. The contents of such files are stored in the
history file in encoded form. See uuencode(1C) for
details about the encoding. This option is normally
used in conjunction with -i to force admin to encode
initial versions not recognized as containing binary
Deletes the indicated flag from the SCCS file. The -d
option may be specified only for existing s.files. See
-f for the list of recognized flags.
-e username | groupid
Erases a user name or group ID from the list of users
allowed to make deltas.
-f flag [value]
Sets the indicated flag to the (optional) value speci-
fied. The following flags are recognized:
b Enables branch deltas. When b is set, branches
can be created using the -b option of the SCCS
get command (see sccs-get(1)).
cceil Sets a ceiling on the releases that can be
checked out. ceil is a number less than or equal
to 9999. If c is not set, the ceiling is 9999.
dsid Specifies the default delta number, or SID, to
be used by an SCCS get command.
Sets a floor on the releases that can be checked
out. The floor is a number greater than 0 but
less than 9999. If f is not set, the floor is 1.
i Treats the `No id keywords (ge6)' message issued
by an SCCS get or delta command as an error
rather than a warning.
j Allows concurrent updates.
l release[, release...]
Locks the indicated list of releases against
deltas. If a is used, this flag locks out deltas
to all releases. An SCCS `get -e' command fails
when applied against a locked release.
Supplies a value for the module name to which
the %M% keyword is to expand. If the m flag is
not specified, the value assigned is the name of
the SCCS file with the leading s. removed.
n Creates empty releases when releases are
skipped. These null (empty) deltas serve as
anchor points for branch deltas.
Supplies a value to which the %Q% keyword is to
expand when a read-only version is retrieved
with the SCCS get command.
Specifies how many lines of code are scanned for
the SCCS keyword.
ttype Supplies a value for the module type to which
the %Y% keyword is to expand.
Specifies a validation program for the MR
numbers associated with a new delta. The
optional program specifies the name of an MR
number validity checking program. If this flag
is set when creating an SCCS file, the -m option
must also be used, in which case the list of MRs
may be empty.
Specifies the SCCS keywords to be expanded. If
no value is specified, no keywords will be
-h Checks the structure of an existing s.file (see
sccsfile(4)), and compares a newly computed check-sum
with one stored in the first line of that file. -h
inhibits writing on the file and so nullifies the
effect of any other options.
Initializes the history file with text from the indi-
cated file. This text constitutes the initial delta,
or set of checked-in changes. If filename is omitted,
the initial text is obtained from the standard input.
Omitting the -i option altogether creates an empty
s.file. You can only initialize one s.file with text
using -i. This option implies the -n option.
Inserts the indicated Modification Request (MR)
numbers into the commentary for the initial version.
When specifying more than one MR number on the command
line, mr-list takes the form of a quoted, space-
separated list. A warning results if the v flag is not
set or the MR validation fails.
-n Creates a new SCCS history file.
Specifies the release for the initial delta. -r may be
used only in conjunction with -i. The initial delta is
inserted into release 1 if this option is omitted. The
level of the initial delta is always 1. Initial deltas
are named 1.1 by default.
Inserts descriptive text from the file description-
file. When -t is used in conjunction with -n, or -i
to initialize a new s.file, the description-file must
be supplied. When modifying the description for an
existing file: a -t option without a description-file
removes the descriptive text, if any; a -t option with
a description-file replaces the existing text.
Inserts the indicated comment in the ``Comments:''
field for the initial delta. Valid only in conjunction
with -i or -n. If -y option is omitted, a default com-
ment line is inserted that notes the date and time the
history file was created.
-z Recomputes the file check-sum and stores it in the
first line of the s.file. Caution: It is important to
verify the contents of the history file (see sccs-
val(1), and the print subcommand in sccs(1)), since
using -z on a truly corrupted file may prevent detec-
tion of the error.
Example 1: Preventing SCCS keyword expansion
In the following example, 10 lines of file will be scanned
and only the W,Y,X keywords will be interpreted:
example% sccs admin -fs10 file
example% sccs admin -fyW,Y,X file
example% get file
See environ(5) for descriptions of the following environment
variables that affect the execution of alias and unalias:
LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.
The following exit values are returned:
0 Successful completion.
1 An error occurred.
s.* history file
history file in SCCS subdirectory
z.* temporary lock file
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWsprot |
| Interface Stability | Standard |
sccs(1), sccs-cdc(1), sccs-delta(1), sccs-get(1), sccs-
help(1), sccs-rmdel(1), sccs-val(1), sccsfile(4), attri-
butes(5), environ(5), standards(5)
Use the SCCS help command for explanations (see sccs-
The last component of all SCCS filenames must have the `s.'
prefix. New SCCS files are given mode 444 (see chmod(1)).
All writing done by admin is to a temporary file with an x.
prefix, created with mode 444 for a new SCCS file, or with
the same mode as an existing SCCS file. After successful
execution of admin, the existing s.file is removed and
replaced with the x.file. This ensures that changes are made
to the SCCS file only when no errors have occurred.
It is recommended that directories containing SCCS files
have permission mode 755, and that the s.files themselves
have mode 444. The mode for directories allows only the
owner to modify the SCCS files contained in the directories,
while the mode of the s.files prevents all modifications
except those performed using SCCS commands.
If it should be necessary to patch an SCCS file for any rea-
son, the mode may be changed to 644 by the owner to allow
use of a text editor. However, extreme care must be taken
when doing this. The edited file should always be processed
by an `admin -h' command to check for corruption, followed
by an `admin -z' command to generate a proper check-sum.
Another `admin -h' command is recommended to ensure that the
resulting s.file is valid.
admin also uses a temporary lock s.file, starting with the
`z.' prefix, to prevent simultaneous updates to the s.file.
See sccs-get(1) for further information about the `z.file'.
Man(1) output converted with