sccs(1) sccs(1)
NAME
sccs - shell command for the Source Code Control System (SCCS)
SYNOPSIS
sccs [-r] [-d rootpath] [-p finalpath] command [SCCS-option ...]
[filename ...]
DESCRIPTION
The sccs command is a front end to the utility program of the Source
Code Control System (SCCS).
sccs normally prefixes each filename or the last component of each
filename with the string "SCCS/s.", because you normally save your
SCCS database files in a directory called SCCS, and each database file
starts with an "s." prefix.
The PROJECTDIR environment variable specifies in which directory the
SCCS should be sought, if they are not in the current directory. SCCS
files are searched for in a SCCS subdirectory. If relative pathnames
are specified, the HOME directory is searched first for the src or
source subdirectories. If these directories do not exist, the path is
set relative to the current directory.
sccs program options must appear before the command argument. Options
to be passed to the actual SCCS command (utility program) must appear
after the command argument. These options are specific to the command
argument being used.
sccs can be installed as a "set user ID" program to provide additional
protection. This means that direct access to SCCS files is no longer
possible for every user, but only those with the suitable sccs call.
To stop administrator commands [such as admin(1)] being called by any-
one, these commands always run as the real user.
OPTIONS
-r sccs calls command as the real user ID and not as the effective
user ID, under which sccs itself runs.
-d rootpath
Defines the prefix portion of the pathname for the SCCS database
files. The current directory is the default. The full pathname is
prefixed by rootpath (see EXAMPLES).
The pathnames take precedence over the directories defined by the
PROJECTDIR environment variable.
-p finalpath
Defines the name of the directory that contains the SCCS files.
The default is SCCS. finalpath is appended before the last com-
ponent of a pathname specified using command (see EXAMPLES).
Page 1 Reliant UNIX 5.44 Printed 11/98
sccs(1) sccs(1)
ADDITIONAL SCCS COMMANDS
The following pseudo-commands are available in addition to the usual
SCCS commands. These are:
check Checks files which are currently being edited. Like info,
but returns an exit code rather than a list. If nothing is
being edited, there is no output, and if a file was being
edited, a non-zero status is returned. check can thus be
included in an install entry in a makefile to ensure that
a SCCS file contains all the necessary components before a
version is installed.
clean Deletes all files from the current directory which can be
recreated from SCCS files. clean establishes which files
are currently being edited and does not delete these. When
"clean -b" is used it does not check if other branches is
being edited at that moment. If you save the branches in
the same directory it is dangerous to use -b.
create Creates new SCCS files. All options of the admin command
can be specified. After successful creation of the SCCS
file, the original file is renamed by inserting a comma in
front of the base name.
delget Performs a delta on the specified files and then call new
versions using get. The keywords are expanded so that the
new versions cannot be edited.
deledit Same as delget, but creates new versions that can be
edited (get -e). deledit is useful for making a checkpoint
of your current editing phase.
diffs Compares (in diff-like format) the current version of the
program you have for editing in SCCS format.diffs accepts
the same arguments as diff, except that the -c option must
be specified as -C instead, because the -c option is taken
as an option of get, indicating which version is to be
compared with the current version.
edit Gets a file for editing (same as get -e).
fix Removes the specified delta, but leaves a copy of the
delta with the changes in it. fix must follow a -rSID. fix
is useful for recovering small compiler errors. Since fix
does not leave audit trails, it should be used carefully.
info Displays a list of all files currently being edited. If
the -b option is given, branches (that is SIDs with two or
less components) are ignored. If the -u user option is
given, only files edited by the specified user are listed.
-U is the same as -u currentuser.
Page 2 Reliant UNIX 5.44 Printed 11/98
sccs(1) sccs(1)
print Prints detailed information about the specified files, in
the same way as sccs prs.
tell Displays a list of files being edited on the standard out-
put. Filenames are separated by NEWLINE characters. The
same applies for the -b and -u or -U characters as for
info and check.
unedit Undoes the last edit or get -e and returns a file to its
previous condition. If you unedit a file being edited, all
changes made since the beginning of the editing session
are lost.
EXAMPLES
The command
sccs -d /usr/include get sys/inode.h
is converted to:
get /usr/include/sys/SCCS/s.inode.h
This should allow the creation of aliases such as:
alias syssccs = "sccs -d /usr/src"
These are used as:
syssccs get cmd/who.c
The command
sccs -p private get usr/include/stdio.h
is converted to:
get usr/include/private/s.stdio.h
To convert a file called myprogram.c into SCCS format for the first
time, assuming that no SCCS directory exists:
$ mkdir SCCS
$ sccs create myprogram.c
$ myprogram.c:
1.1
14 lines
After you have verified that everything is in order, remove the ver-
sion of the file that starts with a comma:
$ rm ,myprogram.c
Page 3 Reliant UNIX 5.44 Printed 11/98
sccs(1) sccs(1)
To get a copy of myprogram.c for editing, edit the file and place it
back in the SCCS database:
$ sccs edit myprogram.c
1.1
new delta 1.2
14 lines
$ vi myprogram.c
Your editing session begins.
$ sccs delget myprogram.c
comments? Added abusive responses for compatibility
1.2
7 inserted
7 deleted
7 unchanged
1.2
14 lines
To get a file from another directory:
sccs -p /usr/src/sccs/ get cc.c
Alternatively you can also enter the following:
sccs get /usr/src/sccs/cc.c
To create a delta of a large number of files in the current directory:
sccs delta *.c
To get a list of files being edited that are not branches:
sccs info -b
To create a delta version of all files being edited:
sccs delta `sccs tell -u`
In a makefile, to get source files from an SCCS file if it does not
exist:
SRCS = <listofsourcefiles>
$(SRCS):
sccs get $(REL) $@
Page 4 Reliant UNIX 5.44 Printed 11/98
sccs(1) sccs(1)
LOCALE
The language of the message texts is governed by the environment vari-
ables LCALL, LCMESSAGES or LANG.
When the default is set, the system behaves as if it were not interna-
tionalized, i.e. the message texts are in English. You must change one
of these variables in order to change the language of the message
texts.
Detailed information on the dependencies of the environment variables
and on internationalization in general can be found in the
Programmer's Guide: Internationalization - Localization. Refer also to
environ(5) for information on setting the user environment.
FILES
/usr/sccs/*
SEE ALSO
admin(1), cdc(1), comb(1), delta(1), get(1), help(1), make(1), prs(1),
rmdel(1), sact(1), sccsdiff(1), unget(1), val(1), what(1),
sccsfile(4).
Page 5 Reliant UNIX 5.44 Printed 11/98