add "tell" command
[unix-history] / usr / src / usr.bin / sccs / sccs.1
index f483e5e..9bb70ca 100644 (file)
@@ -1,4 +1,4 @@
-.TH SCCS 1
+.TH SCCS LOCAL
 .UC
 .SH NAME
 sccs \- front end for the
 .UC
 .SH NAME
 sccs \- front end for the
@@ -9,20 +9,21 @@ subsystem
 [
 .B \-r
 ] [
 [
 .B \-r
 ] [
+.BI \-d path
+] [
 .BI \-p path
 ] command [ flags ] [ args ]
 .SH DESCRIPTION
 .I Sccs
 is a front end
 .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
 .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
 .PP
 Basically,
 .I sccs
@@ -34,11 +35,8 @@ and
 .I args.
 Each
 argument
 .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
 .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
 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
 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
 The
 .B \-p
-flag defines the path to prepend to
+flag defines the pathname of the directory
+in which the
 .SM SCCS
 .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
 .SH EXAMPLES
 .de BX
+.PP
 .nf
 .in +0.5i
 .nf
 .in +0.5i
-.sp 0.3
 ..
 .de EX
 .fi
 ..
 .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
 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
 .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
 .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
 .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
 .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>
 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),
 .EX
 .SH "SEE ALSO"
 admin(SCCS),
@@ -122,15 +221,21 @@ help(SCCS),
 prt(SCCS),
 rmdel(SCCS),
 sccsdiff(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
 .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.
 to csvax:eric.