sccs Command

Purpose

Administration program for SCCS commands.

Syntax

sccs [ -r ] [ -dPath ] [ -pPath ] Command [ CommandFlags ] File ...

Description

The sccs command is an administration program that incorporates the set of Source Code Control System (SCCS) commands into the operating system. Additionally, the sccs command can be used to assign or reassign file ownership (see the -r flag).

The sccs command activates a specified Command having the specified flags and arguments. Each file is normally placed in a directory named SCCS and named s.filename. The directory SCCS is assumed to exist relative to the working directory (unless the -p flag is used).

Two types of commands can be used in the sccs command syntax sentence. The first type consists of 14 sccs commands that can be entered at the prompt. The second type, pseudo-commands, can be used only as part of the sccs command syntax. There are 12 pseudo-commands, which perform the following actions:

Item Description
edit Equivalent to the get -e command.
delget Performs a delta command on the named files and then gets new versions. The new versions of the files have expanded identification keywords and are not editable.

Flags:

-m, -p, -r, -s, -y
Can be passed to the delta command.
-b, -c, -i, -l, -s, -x
Can be passed to the get command.
deledit Equivalent to the delget pseudo-command, except that the get portion of the sentence includes the -e flag. The deledit pseudo-command is useful for creating a checkpoint in your current editing session.

Flags:

-m, -p, -r, -s, -y
Can be passed to the delta command.
-b, -c, -i, -l, -s, -x
Can be passed to the get command.
create Creates an SCCS file, copying the initial contents from a file of the same name. If the file is successfully created, the original file is renamed with a comma on the front. You do not have to move or remove the original file as with the admin command.

Flags:

Accepts the same flags as the admin command. The -i flag is implied.

fix Removes a named delta, but leaves a copy of the delta with changes intact. This pseudo-command is useful for fixing small compiler errors. This pseudo-command does not keep a record of changes made to the file.

Flags:

-rSID
Indicates a required flag.
clean Removes all files from the current directory or from the designated directory that can be recreated from SCCS files. Does not remove files that are in the process of being edited.

Flags:

-b
Ignores branches when determining which files are being edited. Branches being edited in the same directory can be lost.
unedit Equivalent to the unget command. Any changes made since the get command was used are lost.
info Lists all files being edited.

Flags:

-b
Ignores branches when determining which files are being edited.
-u [Argument]
Lists only the files being edited by you or the user named by the Argument parameter.
check Prints all files being edited. Returns a nonzero exit status if a file is being edited. The check program can be used in a makefile to ensure that files are complete before a version is installed. Check the return code before performing the install.

Flags:

-b
Ignores branches when determining which files are being edited.
-u [Argument]
Lists only the files being edited by you or the user named by the Argument parameter.
tell Lists all files being edited, with a new line after each entry, on standard output.

Flags:

-b
Ignores branches when determining which files are being edited.
-u [Argument]
Lists only the files being edited by you or the user named by the Argument parameter.
diffs Shows the difference between the current version of the program you are editing and the previous deltas.

Flags:

-r, -c, -i, -x, -t
Can be passed to the get command.
-l, -s, -e, -f, -h, -b
Can be passed to the diff (not sccsdiff) command.
-C
Can be passed to the diff (not sccsdiff) command as a -c flag.
print (filename(s)) Prints verbose information about the named files.

If the PROJECTDIR environment variable is set, its value determines the working directory. If this value begins with a / (slash), it is used directly. Otherwise, the value is interpreted as a user name whose home directory is examined for a subdirectory named src or source. If found, that subdirectory is used as the working directory.

Flags

Item Description
-dPath Specifies a working directory for the SCCS files. The default is the current directory. The -d flag is prefixed to the entire path name of a file. When the PROJECTDIR environment variable is set and the -d flag is used, the command line overrides the environment value in determining the working directory.
-p Specifies a path name for the SCCS files. The default is the SCCS directory. The -p flag is inserted before the final component of the path name.

All flags specified after the command are passed to that command during execution. For a description of command flags, see the appropriate command description.

Example:

sccs -d/x -py get a/b

converts to:

get /x/a/y/s.b

This option is used to create aliases. For example:

alias syssccs sccs -d/usr/src 

causes the syssccs command to become an alias command that can be used as follows:

syssccs get cmd/who.c

When used in this context, the above command will check the /usr/src/cmd/SCCS directory for the s.who.c file.

-r Runs the sccs command as the real user instead of as the effective user to which the sccs command is set (using the set user id command).

Certain commands, such as the admin command, cannot be run as set user id, which would allow anyone to change the authorizations. Such commands are always run as the real user.

Exit Status

This command returns the following exit values:

Item Description
0 Successful completion.
>0 An error occurred.

Examples

  1. To get a file for editing, edit it, and then produce a new delta, enter:
    sccs get -e file.c
    ex file.c
    sccs delta file.c
  2. To get a file from another directory, enter:
    sccs -p/usr/src/sccs/ get cc.c
    OR
    sccs get /usr/src/sccs/s.cc.c
  3. To get a list of files being edited that are not on branches, enter:
    sccs info -b

Files

Item Description
/usr/bin/sccs Contains the sccs command, which is the administration program for the SCCS commands.