sccs(1) USER COMMANDS sccs(1)
NAME
sccs - front end for the Source Code Control System (SCCS)
SYNOPSIS
/usr/ucb/sccs [ -r ] [ -dprefixpath ] [ -pfinalpath ]
command [SCCS-flags ...] [filename ...]
DESCRIPTION
The sccs command is a front end to the utility programs of
the Source Code Control System (SCCS). sccs normally pre-
fixes each filename, or the last component of each filename,
with the string `SCCS/s.', because you normally keep your
SCCS database files in a directory called SCCS, and each
database file starts with an `s.' prefix. If the environ-
ment variable PROJECTDIR is set, and is an absolute pathname
(that is, begins with a slash) sccs will search for SCCS
files in the directory given by that variable. If it is a
relative pathname (that is, does not begin with a slash), it
is treated as the name of a user, and sccs will search in
that user's home directory for a directory named src or
source. If that directory is found, sccs will search for
SCCS files in the directory given by that variable. sccs
program options must appear before the command argument.
Flags to be passed to the actual SCCS command (utility pro-
gram) must appear after the command argument. These flags
are specific to the command being used. sccs also includes
the capability to run ``set user ID'' to another user to
provide additional protection. Certain commands (such as
admin(1)) cannot be run ``set user ID'' by all users, since
this would allow anyone to change the authorizations. Such
commands are always run as the real user.
OPTIONS
-r Run sccs as the real user rather than as whatever
effective user sccs is ``set user ID'' to.
-dprefixpath
Define the prefix portion of the pathname for the SCCS
database files. The default prefix portion of the
pathname is the current directory. prefixpath is pre-
fixed to the entire pathname. See EXAMPLE.
This flag overrides any directory specified by the PRO-
JECTDIR environment variable.
-pfinalpath
Define the name of a lower directory in which the SCCS
files will be found; SCCS is the default. finalpath is
appended before the final component of the pathname.
See EXAMPLE.
Last change: BSD Compatibility Package 1
sccs(1) USER COMMANDS sccs(1)
USAGE
Additional sccs Commands
Several ``pseudo-commands'' are available in addition to the
usual SCCS commands. These are:
create create is used when creating new s. files. For
example, given a C source language file called
`obscure.c', create would perform the following
actions: (1) create the `s.' file called
`s.obscure.c' in the SCCS directory; (2) rename
the original source file to `,obscure.c'; (3) do
an `sccs get' on `obscure.c'. Compared to the
SCCS admin command, create does more of the
startup work for you and should be used in
preference to admin.
enter enter is just like create, except that it does
not do the final `sccs get'. It is usually used
if an `sccs edit' is to be performed immediately
after the enter.
edit Get a file for editing.
delget Perform a delta on the named files and then get
new versions. The new versions have ID keywords
expanded, and so cannot be edited.
deledit Same as delget, but produces new versions suit-
able for editing. deledit is useful for making
a ``checkpoint'' of your current editing phase.
fix Remove the named delta, but leaves you with a
copy of the delta with the changes that were in
it. fix must be followed by a -r flag. fix is
useful for fixing small compiler bugs, etc.
Since fix does not leave audit trails, use it
carefully.
clean Remove everything from the current directory
that can be recreated from SCCS files. clean
checks for and does not remove any files being
edited. If `clean -b' is used, branches are not
checked to see if they are currently being
edited. Note: -b is dangerous if you are keep-
ing the branches in the same directory.
unedit ``Undo'' the last edit or `get -e' and return 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.
info Display a list of all files being edited. If
Last change: BSD Compatibility Package 2
sccs(1) USER COMMANDS sccs(1)
the -b flag is given, branches (that is, SID's
with two or fewer components) are ignored. If
the -u flag is given (with an optional argu-
ment), only files being edited by you (or the
named user) are listed.
check Check for files currently being edited, like
info, but returns an exit code rather than a
listing: nothing is printed if nothing is being
edited, and a non-zero exit status is returned
if anything is being edited. check may thus be
included in an ``install'' entry in a makefile,
to ensure that everything is included in an SCCS
file before a version is installed.
tell Display a list of files being edited on the
standard output. Filenames are separated by
NEWLINE characters. Take the -b and -u flags
like info and check.
diffs Compare (in diff-like format) the current ver-
sion of the program you have out for editing and
the versions in SCCS format. diffs accepts the
same arguments as diff, except that the -c flag
must be specified as -C instead, because the -c
flag is taken as a flag to get indicating which
version is to be compared with the current ver-
sion.
print Print verbose information about the named files.
print does an `sccs prs -e' followed by an
`sccs get -p -m' on each file.
EXAMPLE
The command:
sccs -d/usr/include get sys/inode.h converts to:
get /usr/include/sys/SCCS/s.inode.h The intent here is
to create aliases such as:
alias syssccs sccs -d/usr/src which will be used as:
syssccs get cmd/who.c The command:
sccs -pprivate get usr/include/stdio.h converts to:
get usr/include/private/s.stdio.h To put a file called
myprogram.c into SCCS format for the first time, assum-
ing also that there is no SCCS directory already exist-
ing:
$ mkdir SCCS
Last change: BSD Compatibility Package 3
sccs(1) USER COMMANDS sccs(1)
$ sccs create myprogram.c
$ myprogram.c:
1.1
14 lines
after you have verified that everything is all right
you remove the version of the file that starts with a comma:
$ rm myprogram.c
$
To get a copy of myprogram.c for editing, edit that file,
then 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
$ 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
or:
sccs get /usr/src/sccs/cc.c
To make 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 on
branches:
sccs info -b
To delta everything that you are editing:
$ sccs delta `sccs tell -u`
In a makefile, to get source files from an SCCS file if it
does not already exist:
SRCS = <list of source files>
$(SRCS):
sccs get $(REL) $@
Regular sccs Commands
The ``regular'' SCCS commands are described very briefly
below. It is unlikely that you ever need to use these com-
mands because the user interface is so complicated, and the
sccs front end command does 99.9% of the interesting tasks
for you.
admin Create new SCCS files and changes parameters of
existing SCCS files. You can use `sccs create'
Last change: BSD Compatibility Package 4
sccs(1) USER COMMANDS sccs(1)
to create new SCCS files, or use `sccs admin' to
do other things.
cdc Change the commentary material in an SCCS delta.
comb Combine SCCS deltas and reconstructs the SCCS
files.
delta Permanently introduces changes that were made to
a file previously retrieved using `sccs get'.
You can use `sccs delget' as the more useful
version of this command since `sccs delget' does
all of the useful work and more.
get Extract a file from the SCCS database, either
for compilation, or for editing when the -e
option is used. Use `sccs get' if you really
need it, but `sccs delget' will normally have
done this job for you. Use sccs edit instead of
get with the -e option.
help Supposed to help you interpret SCCS error mes-
sages.
prs Display information about what is happening in
an SCCS file.
rmdel Remove a delta from an SCCS file.
sccsdiff Compare two versions of an SCCS file and gen-
erates the differences between the two versions.
val Determine if a given SCCS file meets specified
criteria. If you use the sccs command, you
should not need to use val, because its user
interface is unbelievable.
what Display SCCS identification information.
FILES
/usr/sccs/*
SEE ALSO
admin(1), cdc(1), comb(1), delta(1), get(1), help(1),
prs(1), rmdel(1), sact(1), sccsdiff(1), unget(1), val(1),
what(1), sccsfile(5) in the Programmer's Reference Manual.
NOTES
The help command usually just parrots SCCS error messages
and is generally not considered very helpful.
Last change: BSD Compatibility Package 5