Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sccs(1) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

admin(1)

cdc(1)

chghist(1)

comb(1)

delta(1)

get(1)

sccshelp(1)

prs(1)

prt(1)

rmdel(1)

sact(1)

sccsdiff(1)

unget(1)

val(1)

vc(1)

what(1)



      SCCS(1)                 GENIX Programmer's Manual                 SCCS(1)



      NAME
           sccs - front end for the SCCS subsystem

      SYNOPSIS
           sccs [ -r ] [ -dpath ] [ -ppath ] command [ flags ] [ args ]

      DESCRIPTION
           Sccs is a front end to the SCCS 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.

           Basically, sccs runs the command with the specified flags and  args.
           Each argument is normally modified to be prepended with "SCCS/s.".

           Flags to be interpreted by the sccs program must be before the  com-
           mand  argument.   Flags to be passed to the actual SCCS program must
           come after the command argument.  These flags are  specific  to  the
           command and are discussed in the documentation for that command.

           Besides the usual SCCS commands, several  "pseudo-commands"  can  be
           issued.  These are:

           edit      Equivalent to "get -e".

           delget    Perform a delta on the named files and then get  new  ver-
                     sions.   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.

           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".

           fix       Must be followed by a -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.

           clean     This routine removes everything from the current directory
                     that can be recreated from SCCS files.  It will not remove
                     any files being edited.  If the -b flag is given, branches
                     are ignored in the determination of whether they are being
                     edited; this is dangerous if you are keeping the  branches
                     in the same directory.

           unedit    This is the opposite of an  "edit"  or  a  "get  -e".   It
                     should be used with extreme caution, since any changes you



      Printed 11/16/83                                                        1





      SCCS(1)                 GENIX Programmer's Manual                 SCCS(1)



                     made since the get will be irretrievably lost.

           info      Gives a listing of all files being edited.  If the -b flag
                     is  given,  branches  (i.e.,  SID's with two or fewer com-
                     ponents) are ignored.  If the -u flag is  given  (with  an
                     optional argument) then only files being edited by you (or
                     the named user) are listed.

           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 SCCS  file  before  a
                     version is installed.

           tell      Gives a newline-separated list of the files  being  edited
                     on  the  standard  output.  Takes the -b and -u flags like
                     "info" and "check".

           diffs     Gives a "diff" listing between the current version of  the
                     program(s)  you  have  out for editing and the versions in
                     SCCS format.  The -r, -c, -i, -x, and -t flags are  passed
                     to  get; the -l, -s, -e, -f, -h, and -b options are passed
                     to diff. The -C flag is passed to diff as -c.

           The -r flag runs sccs as the  real  user  rather  than  as  whatever
           effective  user  sccs is "set user id" to.  The -d flag gives a root
           directory for the SCCS files.  The default is the current directory.
           The  -p flag defines the pathname of the directory in which the SCCS
           files will be found; "SCCS" is the default.   The  -p  flag  differs
           from  the -d flag in that the -d argument is prepended to the entire
           pathname and the -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".  Also, if the environment variable PROJECT is  set,  its
           value  is  used to determine the -d flag. If it begins with a slash,
           it is taken directly; otherwise, the home directory  of  a  user  of
           that name is examined for a subdirectory "src" or "source".  If such
           a directory is found, it is used.

           Certain commands (such as 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.

      EXAMPLES
           To get a file for editing, edit it, and produce a new delta:

                sccs edit file.c
                vi file.c
                sccs delta file.c




      Printed 11/16/83                                                        2





      SCCS(1)                 GENIX Programmer's Manual                 SCCS(1)



           To get a file from another directory:

                sccs -p/usr/src/sccs/s. get cc.c

           or

                sccs get /usr/src/sccs/s.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 being edited by you:

                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) $@

      SEE ALSO
           admin(1),   cdc(1),   chghist(1),   comb(1),    delta(1),    get(1),
           sccshelp(1),   prs(1),   prt(1),   rmdel(1),  sact(1),  sccsdiff(1),
           unget(1), val(1), vc(1), what(1),
           Eric Allman, An Introduction to the Source Code Control System

      BUGS
           It should be able to take  directory  arguments  on  pseudo-commands
           like the SCCS commands do.



















      Printed 11/16/83                                                        3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026