admin(1)


admin -- create and administer SCCS files

Synopsis

   admin [-i[name]] [-b] [-n] [-rrel] [-t[name]] [-fflag[flag-val]]
   	[-dflag[flag-val]] [-alogin] [-elogin] [-m[mrlist]] [-y[comment]]
   	[-h] [-z] file . . .

Description

admin is used to create new SCCS files and change parameters of existing ones. Arguments to admin, which may appear in any order, consist of keyletter arguments (that begin with ``-'') and file names (note that SCCS file names (file) must begin with the ASCII characters ``s.'').

If file does not exist, it is created and its parameters are initialized according to the specified keyletter arguments. Parameters not initialized by a keyletter argument are assigned a default value. If file does exist, parameters corresponding to specified keyletter arguments are changed, and other parameters are left unchanged.

If file is a directory, admin behaves as though each file in the directory were specified as file, except that non-SCCS files (last component of the path name does not begin with s.) and unreadable files are silently ignored.

If file is -, the standard input is read; each line of the standard input is taken to be the name of an SCCS file to be processed. Again, non-SCCS files and unreadable files are silently ignored.

admin recognizes supplementary code set characters in all files, as well as in file names and in arguments given to the -i, -t, -f, and -y options (see below), according to the locale specified in the LC_CTYPE environment variable (see LANG on environ(5)). As noted, file names must begin with the ASCII characters ``s.''

The keyletter arguments are listed below. Each argument is explained as if only one file were to be processed because the effect of each argument applies independently to each file.


-i[name]
The name of a file from which the contents for a new SCCS file are to be taken. (If name is a binary file, then you must specify the -b option.) This contents constitutes the first delta of the file (see -r keyletter for delta numbering scheme). If the -i keyletter is used, but name is omitted, the contents are obtained by reading the standard input until an end-of-file is encountered. If this keyletter is omitted, then the SCCS file is created so that the result of a get(1) will be an empty file. Only one SCCS file may be created by an admin command on which the i keyletter is supplied. Using a single admin to create two or more SCCS files requires that they be created empty (no -i keyletter). Note that the -i keyletter implies the -n keyletter. Supplementary code set characters may be used in name and in the file itself.

-b
encode the contents of name, specified to the -i option. This keyletter must be used if name is a binary file; otherwise, a binary file will not be handled properly by SCCS commands.

-n
This keyletter indicates that a new SCCS file is to be created (implied by -i).

-r rel
The release into which the initial delta is inserted. This keyletter may be used only if the -i keyletter is also used. If the -r keyletter is not used, the initial delta is inserted into release 1. The level of the initial delta is always 1 (by default initial deltas are named 1.1).

-t[name]
The name of a file from which descriptive text for the SCCS file is to be taken. If the -t keyletter is used and admin is creating a new SCCS file (the -n and/or -i keyletters also used), the descriptive text file name must also be supplied. In the case of existing SCCS files: (1) a -t keyletter without a file name causes removal of the descriptive text (if any) that is currently in the SCCS file, and (2) a -t keyletter with a file name causes text (if any) in file to replace the descriptive text (if any) that is currently in the SCCS file. Supplementary code set characters may be used in name and in the file itself.

-f flag
This keyletter specifies a flag, and, possibly, a value for the flag, to be placed in the SCCS file. Several -f keyletters may be supplied on a single admin command line. The allowable flags and their values are:

b
Allows use of the -b keyletter on a get command to create branch deltas.

c ceil
The highest release (that is, ceiling): a number greater than 0 but less than or equal to 9999 that may be retrieved by a get command for editing. The default value for an unspecified c flag is 9999.

f floor
The lowest release (that is, floor): a number greater than 0 but less than 9999 that may be retrieved by a get command for editing. The default value for an unspecified f flag is 1.

d SID
The default delta number (SID) to be used by a get command.

i[str]
Causes the
   No id keywords (ge6)
message issued by get or delta to be treated as a fatal error. In the absence of this flag, the message is only a warning. The message is issued if no SCCS identification keywords (see get(1)) are found in the text retrieved or stored in the SCCS file. If a value is supplied, the keywords must exactly match the given string. The string must contain a keyword, and no embedded newlines.

j
Allows concurrent get commands for editing on the same SID of an SCCS file. This flag allows multiple concurrent updates to the same version of the SCCS file.

l list
A list of releases to which deltas can no longer be made (get -e against one of these ``locked'' releases fails). list has the following syntax:
   list ::= range | list , range
   range ::= RELEASE NUMBER | a

The character a in list is equivalent to specifying all releases for file.


n
Causes delta to create a null delta in each of those releases (if any) being skipped when a delta is made in a new release (for example, in making delta 5.1 after delta 2.7, releases 3 and 4 are skipped). These null deltas serve as anchor points so that branch deltas may later be created from them. The absence of this flag causes skipped releases to be non-existent in the SCCS file, preventing branch deltas from being created from them in the future.

q text
User-definable text substituted for all occurrences of the %Q% keyword in SCCS file text retrieved by get. Supplementary code set characters may be used in text.

m mod
module name of the SCCS file substituted for all occurrences of the %M% keyword in SCCS file text retrieved by get. If the m flag is not specified, the value assigned is the name of the SCCS file with the leading s. removed. Supplementary code set characters may be used in the module name mod.

t type
type of module in the SCCS file substituted for all occurrences of %Y% keyword in SCCS file contents retrieved by get.

v[pgm]
Causes delta to prompt for Modification Request (MR) numbers as the reason for creating a delta. The optional value specifies the name of an MR number validity checking program (see delta(1)). This program will receive as arguments the module name, the value of the type flag (see t type above), and the mrlist. (If this flag is set when creating an SCCS file, the m keyletter must also be used even if its value is null).

x
Causes get to create files with execute permissions.

-d flag
Causes removal (deletion) of the specified flag from an SCCS file. The -d keyletter may be specified only when processing existing SCCS files. Several -d keyletters may be supplied in a single admin command. See the -f keyletter for allowable flag names.

(l list used with -d indicates a list of releases to be unlocked. See the -f keyletter for a description of the l flag and the syntax of a list.)


-a login
A login name, or numerical UNIX System group ID, to be added to the list of users who may make deltas (changes) to the SCCS file. A group ID is equivalent to specifying all login names common to that group ID. Several a keyletters may be used on a single admin command line. As many logins or numerical group IDs as desired may be on the list simultaneously. If the list of users is empty, then anyone may add deltas. If login or group ID is preceded by a ``!'' they are to be denied permission to make deltas.

-e login
A login name, or numerical group ID, to be erased from the list of users allowed to make deltas (changes) to the SCCS file. Specifying a group ID is equivalent to specifying all login names common to that group ID. Several -e keyletters may be used on a single admin command line.

-m[mrlist]
The list of Modification Requests (MR) numbers is inserted into the SCCS file as the reason for creating the initial delta in a manner identical to delta. The v flag must be set and the MR numbers are validated if the v flag has a value (the name of an MR number validation

program). Diagnostics will occur if the v flag is not set or MR validation fails.

-y[comment]
The comment text is inserted into the SCCS file as a comment for the initial delta in a manner identical to that of delta. Omission of the -y keyletter results in a default comment line being inserted.

The -y keyletter is valid only if the -i and/or -n keyletters are specified (that is, a new SCCS file is being created). Supplementary code set characters may be used in comment.


-h
Causes admin to check the structure of the SCCS file (see sccsfile(4)), and to compare a newly computed check-sum (the sum of all the characters in the SCCS file except those in the first line) with the check-sum that is stored in the first line of the SCCS file. Appropriate error diagnostics are produced. This keyletter inhibits writing to the file, nullifying the effect of any other keyletters supplied; therefore, it is only meaningful when processing existing files.

-z
The SCCS file check-sum is recomputed and stored in the first line of the SCCS file (see -h, above). Note that use of this keyletter on a truly corrupted file may prevent future detection of the corruption.

The last component of all SCCS file names must be of the form s.file. New SCCS files are given mode 444 (see chmod(1)). Write permission in the pertinent directory is, of course, required to create a file. All writing done by admin is to a temporary file, called x.file, (see get(1)), created with mode 444 if the admin command is creating a new SCCS file, or with the same mode as the SCCS file if it exists. After successful execution of admin, the SCCS file is removed (if it exists), and x.file is renamed with the name of the SCCS file. This renaming process ensures that changes are made to the SCCS file only if no errors occurred.

It is recommended that directories containing SCCS files have mode 755 and that SCCS files themselves have mode 444. The mode of the directories allows only the owner to modify SCCS files contained in the directories. The mode of the SCCS files prevents any modification at all except by SCCS commands.

admin also makes use of a transient lock file (called z.file), which is used to prevent simultaneous updates to the SCCS file by different users. See get(1) for further information.

Files


x.file
(see delta(1))

z.file
(see delta(1)).

bdiff
Program to compute differences between the ``gotten'' file and the g.file (see get(1)).

/usr/lib/locale/locale/LC_MESSAGES/uxue
language-specific message file (See LANG on environ(5).)

Examples

The following example shows how to create an SCCS file, s.prog.c, from the contents of a file containing a C language program, prog.c.

admin -iprog.c s.prog.c

An example for a file containing a shell program is similar, except that you should use the -fx option , so that get(1) will create file.sh to be executable.

   admin -ifile.sh -fx s.file.sh

You should include some SCCS information at the top of a file. In the above shell example, to include the file name, the SCCS version number, and the date and time of the last delta, include the following line at the beginning of file.sh:

   #Id: %W%  Last Delta: %G% %U%

The above line would be translated by a get(1) command as:

   #Id: @(#)file.sh        1.8 Last Delta: 4/25/91 17:05:19

References

bdiff(1), delta(1), ed(1), get(1), help(1), prs(1), sccsfile(4), what(1)

Diagnostics

Use the help command for explanations.

Notices

If it is necessary to patch an SCCS file for any reason, the mode may be changed to 644 by the owner allowing use of a text editor. You must run admin -h on the edited file to check for corruption followed by an admin -z to generate a proper check-sum. Another admin -h is recommended to ensure the SCCS file is valid.
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004