add "tell" command
[unix-history] / usr / src / usr.bin / sccs / sccs.1
index d7ca738..9bb70ca 100644 (file)
@@ -1,4 +1,4 @@
-.TH SCCS 1
+.TH SCCS LOCAL
 .UC
 .SH NAME
 sccs \- front end for the
@@ -9,20 +9,21 @@ subsystem
 [
 .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
@@ -34,11 +35,8 @@ and
 .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
@@ -54,50 +52,155 @@ argument.
 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
@@ -105,12 +208,8 @@ 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),
@@ -122,15 +221,21 @@ help(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.