-.TH SCCS 1
+.TH SCCS LOCAL
.UC
.SH NAME
sccs \- front end for the
[
.B \-r
] [
+.BI \-d path
+] [
.BI \-p path
] command [ flags ] [ args ]
.SH DESCRIPTION
.I Sccs
is a front end
-to csvax:eric.
-that make them mesh more cleanly
-with the rest of UNIX.
-It also runs as a special user
-.B sccs
-so that the
+to the
.SM SCCS
-file protection
-can be used to advantage.
+programs
+that help them mesh more cleanly
+with the rest of UNIX.
+It also includes the capability to run
+``set user id'' to another user
+to provide additional protection.
.PP
Basically,
.I sccs
.I args.
Each
argument
-is modified to be prepended
-with ``SCCS/s.''
-unless it begins with ``s.'',
-contains a `\|/\|' character,
-or specifies a directory.
+is normally modified to be prepended
+with ``SCCS/s.''.
.PP
Flags to be interpreted by the
.I sccs
These flags are specific to the command
and are discussed in the documentation for that command.
.PP
+Besides the usual
+.SM SCCS
+commands,
+several ``pseudo-commands'' can be issued.
+These are:
+.IP edit 1i
+Equivalent to ``get \-e''.
+.IP delget
+Perform a delta on the named files
+and then get new versions.
+The new versions will have id keywords expanded,
+and will not be editable.
+The \-m, \-p, \-r, \-s, and \-y flags
+will be passed to delta,
+and the \-b, \-c, \-e, \-i, \-k, \-l, \-s, and \-x flags
+will be passed to get.
+.IP deledit
+Equivalent to ``delget'' except that the
+``get'' phase includes the ``\-e'' flag.
+This option is useful for making a ``checkpoint''
+of your current editing phase.
+The same flags will be passed to delta
+as described above,
+and all the flags listed for ``get''
+above except \-e and \-k
+are passed to ``edit''.
+.IP fix
+Must be followed by a
+.B \-r
+flag.
+This command essentially removes the named delta,
+but leaves you with a copy of the delta
+with the changes that were in it.
+It is useful for fixing small compiler bugs, etc.
+Since it doesn't leave audit trails,
+it should be used carefully.
+.IP clean
+Takes no arguments.
+This routine removes everything from the current directory
+that can be recreated from SCCS files.
+It will not remove any files being edited.
+.IP unedit
+This is the opposite of an ``edit''
+or a ``get \-e''.
+It should be used with extreme caution,
+since any changes you made since the get
+will be irretrievably lost.
+.IP info
+Gives a listing of all files being edited.
+.IP check
+Like ``info''
+except that nothing is printed if nothing is being edited,
+and a non-zero exit status is returned if anything
+is being edited.
+The intent is to have this included in an ``install''
+entry in a makefile
+to insure that everything is included into the
+.SM SCCS
+file
+before a version is installed.
+.IP tell
+Gives a newline-separated list
+of the files being edited
+on the standard output.
+.IP diffs
+Gives a ``diff'' listing between the current version of the
+program(s) you have out for editing and the versions
+in
+.SM SCCS
+format.
+The arguments look exactly like the arguments to a get,
+which specify the version to diff against.
+.PP
The
.B \-r
flag runs
.I sccs
as the real user
-rather than as the pseudo-user
-.B sccs.
+rather than as whatever effective user
+.I sccs
+is ``set user id'' to.
+The
+.B \-d
+flag gives a root directory for the
+.SM SCCS
+files.
+The default is the current directory.
The
.B \-p
-flag defines the path to prepend to
+flag defines the pathname of the directory
+in which the
.SM SCCS
-file names;
-``SCCS/s.'' is the default.
+files will be found;
+``SCCS'' is the default.
+The
+.B \-p
+flag differs from the
+.B \-d
+flag in that the
+.B \-d
+argument is prepended to the entire pathname
+and the
+.B \-p
+argument is inserted before the final component of the
+pathname.
+For example,
+``sccs -d/x -py get a/b''
+will convert to
+``get /x/a/y/s.b''.
+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''.
+.PP
+Certain commands (such as
+.IR admin )
+cannot be run ``set user id'' by all users,
+since this would allow anyone to change the authorizations.
+These commands are always run as the real user.
.SH EXAMPLES
.de BX
+.PP
.nf
.in +0.5i
-.sp 0.3
..
.de EX
.fi
-.in -0.5i
-.sp 0.3
+.PP
..
-To get a file for editting,
+To get a file for editing,
edit it,
and produce a new delta:
.BX
-% sccs get \-e file.c
-% ex file.c
-% sccs delta file.c
+sccs get \-e file.c
+ex file.c
+sccs delta file.c
.EX
To get a file from another directory:
.BX
-% sccs \-p/usr/src/sccs/s. get cc.c
+sccs \-p/usr/src/sccs/s. get cc.c
.EX
or
.BX
-% sccs get /usr/src/sccs/s.cc.c
+sccs get /usr/src/sccs/s.cc.c
.EX
To make a delta of a large number of files
in the current directory:
.BX
-% sccs delta *.c
+sccs delta *.c
.EX
In a makefile, to get source files
from an
file if it does not already exist:
.BX
SRCS = <list of source files>
-OBJS = <list of object files>
-.sp 0.4
-$(OBJS): $(SRCS)
-.sp 0.4
-\&.DEFAULT:
- sccs get $(REL) $<
+$(SRCS):
+ sccs get $(REL) $@
.EX
.SH "SEE ALSO"
admin(SCCS),
prt(SCCS),
rmdel(SCCS),
sccsdiff(SCCS),
-what(SCCS),
-sccsdir(UCB)
-.SH AUTHOR
-Eric Allman (csvax:eric)
+what(SCCS)
+.br
+Eric Allman,
+.ul
+An Introduction to the Source Code Control System
+.SH BUGS
+It should be able to take directory arguments on pseudo-commands
+like the
+.SM SCCS
+commands do.
.SH DISCLAIMER
Since it is not yet clear
what this program should do,
it should not be considered
a stable program product.
Please send any
-constructive suggestions
+comments & suggestions
to csvax:eric.