Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1‎ > ‎


     sccs - front end for the Source Code Control System (SCCS)

     /usr/ccs/bin/sccs [-r] [-drootprefix] [-psubdir]  subcommand
     [option...] [file...]

     /usr/xpg4/bin/sccs [-r] [-d rootprefix] [-p subdir]  subcom-
     mand [option...] [file...]

     The sccs command is a comprehensive,  straightforward  front
     end  to the various utility programs of the Source Code Con-
     trol System (SCCS).

     sccs applies the indicated subcommand to  the  history  file
     associated with each of the indicated files.

     The name of an SCCS history file is  derived  by  prepending
     the  `s.' prefix to the filename of a working copy. The sccs
     command normally expects these `s.files'  to  reside  in  an
     SCCS  subdirectory.  Thus,  when you supply sccs with a file
     argument, it normally applies the subcommand to a file named
     s.file  in  the  SCCS  subdirectory. If file is a path name,
     sccs looks for the history file in the SCCS subdirectory  of
     that  file's  parent directory. If file is a directory, how-
     ever, sccs applies the subcommand to every  s.file  file  it
     contains. Thus, the command:

     example% sccs get program.c

     would apply the get  subcommand  to  a  history  file  named
     SCCS/s.program.c, while the command:

     example% sccs get SCCS

     would apply it to every s.file in the  SCCS subdirectory.

     Options for the sccs command itself must appear  before  the
     subcommand  argument.   Options  for a given subcommand must
     appear after the  subcommand  argument.  These  options  are
     specific  to  each  subcommand, and are described along with
     the subcommands themselves (see Subcommands below).

  Running Setuid
     The  sccs  command  also  includes  the  capability  to  run
     ``setuid''  to provide additional protection.  However, this
     does not apply to subcommands such as  sccs-admin(1),  since
     this  would allow anyone to change the authorizations of the
     history file.  Commands that would do so always run  as  the
     real user.

     The following options are supported:


     -d rootprefix   Defines the root portion of  the  path  name
                     for  SCCS  history  files.  The default root
                     portion is the current directory. rootprefix
                     is  prepended  to the entire  file argument,
                     even if file is an absolute  path  name.  -d
                     overrides  any  directory  specified  by the
                     PROJECTDIR   environment    variable    (see
                     ENVIRONMENT VARIABLES below).


     -p subdir       Defines the (sub)directory  within  which  a
                     history  file is expected to reside. SCCS is
                     the default. (See EXAMPLES below).

     -r              Runs sccs with the real user ID, rather than
                     set to the effective user ID.

     The following operands are supported:

     subcommand      An SCCS utility name or the name of  one  of
                     the pseudo-utilities listed in USAGE.

     options         An option or option-argument to be passed to

     operands        An operand to be passed to subcommand.


     The usage for sccs is described below.

     Many of the following sccs subcommands invoke programs  that
     reside  in  /usr/ccs/bin.  Many  of these subcommands accept
     additional arguments that are documented  in  the  reference
     page for the utility program the subcommand invokes.

     admin           Modify the flags or checksum of an SCCS his-
                     tory  file.  Refer to sccs-admin(1) for more
                     information about the admin  utility.  While
                     admin  can  be  used to initialize a history
                     file, you may find that the  create  subcom-
                     mand is simpler to use for this purpose.

     cdc -rsid  [ -y[comment]]

     cdc -rsid | -rsid [ -y[comment]]

         Annotate (change) the delta commentary. Refer  to  sccs-
         cdc(1).  The  fix  subcommand can be used to replace the
         delta, rather than merely annotating the  existing  com-


              -r sid | -rsid

                  Specify the SCCS delta ID (SID)  to  which  the
                  change  notation  is to be added. The SID for a
                  given delta is a number, in Dewey decimal  for-
                  mat,  composed  of  two  or  four  fields:  the
                  release and level fields, and for  branch  del-
                  tas,  the  branch  and  sequence  fields.   For
                  instance, the SID for the initial delta is nor-
                  mally 1.1.


                  Specify the comment with which to annotate  the
                  delta   commentary.  If  -y  is  omitted,  sccs
                  prompts for a comment. A null  comment  results
                  in an empty annotation.

     check [-b] [-u[username] ]

     check [-b] [-u [username] | -U ]

         Check for files currently being edited.  Like  info  and
         tell,  but returns an exit code, rather than producing a
         listing of files. check returns a non-zero  exit  status
         if anything is being edited.

         -b       Ignore branches.


         -u [ username]| -U      Check only files being edited by
                                 you.   When  username  is speci-
                                 fied,  check  only  files  being
                                 edited   by   that   user.   For
                                 /usr/xpg4/bin/sccs,   the     -U
                                 option   is   equivalent  to  -u

     clean [ -b ]

         Remove everything in the current directory that  can  be
         retrieved  from  an SCCS history.  Does not remove files
         that are being edited.

         -b       Do not check branches to see if they are  being
                  edited.  `clean -b'  is  dangerous  when branch
                  versions are kept in the same directory.


         Generate scripts  to  combine  deltas.  Refer  to  sccs-


         Create (initialize) history files. create  performs  the
         following steps:

           o  Renames the original source file to  ,program.c  in
              the current directory.

           o  Create the history file called s.program.c  in  the
              SCCS subdirectory.

           o  Performs an `sccs get' on program.c to  retrieve  a
              read-only copy of the initial version.

     deledit [-s] [-y[comment]]

         Equivalent to an `sccs delta' and then an  `sccs  edit'.
         deledit  checks in a delta, and checks the file back out
         again, but leaves the current working copy of  the  file

         -s              Silent. Do not report delta  numbers  or

         -y[comment]     Supply a comment for the  delta  commen-
                         tary.   If  -y is omitted, delta prompts
                         for a comment.  A null  comment  results
                         in an empty comment field for the delta.

     delget [-s] [-y[comment]]

         Perform an `sccs delta' and then an `sccs get' to  check
         in  a delta and retrieve read-only copies of the result-
         ing new  version.  See  the  deledit  subcommand  for  a
         description  of  -s and -y. sccs performs a delta on all
         the files specified in the argument  list,  and  then  a
         get  on  all  the  files.  If an error occurs during the
         delta, the get is not performed.

     delta [-s] [-y[comment]]

         Check  in  pending  changes.  Records  the  line-by-line
         changes  introduced  while the file was checked out. The
         effective user ID must be the same as the ID of the per-
         son  who  has  the  file  checked  out.  Refer  to sccs-
         delta(1). See the deledit subcommand for  a  description
         of -s and -y.

     diffs [-C] [-I] [-cdate-time] [-rsid] diff-options

     diffs  [-C] [-I] [-c date-time | -cdate-time ]
     [-r sid | -rsid] diff-options

         Compare (in diff (1) format) the working copy of a  file
         that is checked out for editing, with a version from the
         SCCS history. Use the most recent checked-in version  by
         default.  The  diffs subcommand accepts the same options
         as diff.

         Any -r, -c, -i, -x, and -t options are passed to subcom-
         mand  get.  A  -C  option is passed to diff as -c. An -I
         option is passed to diff as -i.


         -c date-time | -cdate-time

             Use the most recent version checked  in  before  the
             indicated  date  and  time for comparison. date-time
             takes the form:  yy[mm[dd[  hh[mm[ss]]]]].   Omitted
             units default to their maximum possible values; that
             is -c7502 is equivalent to -c750228235959.


         -r sid | -rsid  Use the  version  corresponding  to  the
                         indicated delta for comparison.

     edit            Retrieve a version of the file for  editing.
                     `sccs  edit'  extracts a version of the file
                     that is  writable  by  you,  and  creates  a
                     p.file  in the SCCS  subdirectory as lock on
                     the history, so that no one else  can  check
                     that  version  in  or  out.  ID keywords are
                     retrieved in unexpanded form.  edit  accepts
                     the  same  options  as  get, below. Refer to
                     sccs-get(1) for a list of  ID  keywords  and
                     their definitions.

     enter           Similar to create, but omits the final `sccs
                     get'.  This may be used if an `sccs edit' is
                     to be performed immediately after  the  his-
                     tory file is initialized.

     fix -rsid

     fix -r sid | -rsid

         Revise a (leaf) delta.  Remove the indicated delta  from
         the  SCCS  history,  but  leave  a  working  copy of the
         current version in the directory.  This  is  useful  for
         incorporating  trivial updates for which no audit record
         is needed, or for revising  the  delta  commentary.  fix
         must  be  followed by a -r option, to specify the SID of
         the delta to remove. The indicated  delta  must  be  the
         most  recent  (leaf)  delta  in its branch. Use fix with
         caution since it  does  not  leave  an  audit  trail  of
         differences   (although   the   previous  commentary  is
         retained within the history file).

     get [-ekmps] [-Gnewname] [-cdate-time] [-r[sid] ]

     get [-ekmps] [-G  newname | -Gnewname]
     [-c date-time | -cdate-time] [-r sid | -rsid]

         Retrieve a version from the SCCS  history.  By  default,
         this is a read-only working copy of the most recent ver-
         sion. ID keywords are in expanded form. Refer  to  sccs-
         get(1),  which  includes a list of ID keywords and their

         -e                      Retrieve a version for  editing.
                                 Same as sccs edit.

         -G newname | -Gnewname  Use newname as the name  of  the
                                 retrieved version.

         -k                      Retrieve a writable copy but  do
                                 not  check out the file. ID key-
                                 words are unexpanded.

         -m                      Precede each line with  the  SID
                                 of  the  delta  in  which it was

         -p                      Produce the retrieved version on
                                 the  standard  output.   Reports
                                 that would normally  go  to  the
                                 standard  output  (delta IDs and
                                 statistics) are directed to  the
                                 standard error.

         -s                      Silent. Do  not  report  version
                                 numbers or statistics.


         -c date-time | -cdate-time

             Retrieve the latest version checked in prior to  the
             date  and  time indicated by the date-time argument.
             date-time takes the form: yy[mm[dd[ hh[mm[ss]]]]].

         -r[sid]         Retrieve the  version  corresponding  to
                         the  indicated  SID. If no sid is speci-
                         fied, the latest sid for  the  specified
                         file is retrieved.

         -r sid | -rsid  Retrieve the  version  corresponding  to
                         the indicated SID.

     help message-code|sccs-command
     help stuck

         Supply more information  about  SCCS  diagnostics.  help
         displays  a brief explanation of the error when you sup-
         ply the code displayed by an  SCCS  diagnostic  message.
         If  you  supply the name of an SCCS command, it prints a
         usage line. help  also  recognizes  the  keyword  stuck.
         Refer to sccs-help(1).

     info [-b] [-u[username] ]

     info [-b] [-u [ username] | -U]

         Display a list of files being edited, including the ver-
         sion  number  checked out, the version to be checked in,
         the name of the user who holds the lock,  and  the  date
         and time the file was checked out.

         -b       Ignore branches.


         -u [username] | -U      List only files checked  out  by
                                 you. When username is specified,
                                 list only files checked  out  by
                                 that          user.          For
                                 /usr/xpg4/bin/sccs,    the    -U
                                 option   is   equivalent  to  -u

     print           Print the entire history of each named file.
                     Equivalent  to  an `sccs prs -e' followed by
                     an `sccs get -p -m'.

     prs [-el] [-cdate-time] [-rsid]

     prs [-el] [ -c  date-time | -cdate-time] [-r sid | -r sid]

         Peruse (display) the delta table, or other portion of an
         s.file. Refer to sccs-prs(1).

         -e       Display delta table information for all  deltas
                  earlier than the one specified with -r  (or all
                  deltas if none is specified).

         -l       Display information for all deltas later  than,
                  and including, that specified by -c or -r.


         -c date-time | -cdate-time

             Specify the latest delta checked in before the indi-
             cated  date  and  time. The date-time argument takes
             the orm: yy[mm[dd[ hh[mm[ss]]]]].


         -r sid | -rsid  Specify a given delta by SID.

     prt [-y]

         Display the delta table, but  omit  the  MR  field  (see
         sccsfile(4)  for  more information on this field). Refer
         to sccs-prt(1).

         -y       Display the most recent delta table entry.  The
                  format  is  a  single output line for each file
                  argument, which is  convenient  for  use  in  a
                  pipeline with awk(1) or sed(1).

     rmdel -rsid

     rmdel -r sid

         Remove the indicated delta from the history file.   That
         delta  must  be  the  most  recent  (leaf)  delta in its
         branch. Refer to sccs-rmdel(1).


         Show editing activity status  of  an SCCS file. Refer to

     sccsdiff -rold-sid -rnew-sid diff-options

         Compare two versions corresponding to the indicated SIDs
         (deltas) using diff. Refer to sccs-sccsdiff(1).

     tell [-b] [-u[username] ]

     tell [-b] [-u [username] | -U]

         Display the list of files  that  are  currently  checked
         out, one file per line.

         -b       Ignore branches.


         -u [username] | -U      List only files checked  out  to
                                 you.   When  username  is speci-
                                 fied, list  only  files  checked
                                 out    to    that    user.   For
                                 /usr/xpg4/bin/sccs,   the     -U
                                 option   is   equivalent  to  -u

     unedit          "Undo" the last edit or `get -e', and return
                     the  working copy to its previous condition.
                     unedit backs out all  pending  changes  made
                     since the file was checked out.

     unget           Same as unedit. Refer to sccs-unget(1).

     val             Validate the history file.  Refer  to  sccs-

     what            Display any expanded ID keyword strings con-
                     tained  in  a  binary (object) or text file.
                     Refer to what(1) for more information.

     Example 1: Checking out, editing, and checking in a file

     To check out a copy of program.c for editing, edit  it,  and
     then check it back in:

     example% sccs edit program.c
     new delta 1.2
     14 lines

     example% vi program.c
     your editing session

     example% sccs delget program.c
     comments? clarified cryptic diagnostic
     3 inserted
     2 deleted
     12 unchanged
     15 lines

     Example 2: Defining the root portion of the command pathname

     sccs converts the command:

     example% sccs -d/usr/src/include get stdio.h


     /usr/ccs/bin/get   /usr/src/include/SCCS/s.stdio.h

     Example 3: Defining the resident subdirectory

     The command:

     example% sccs -pprivate get include/stdio.h


     /usr/ccs/bin/get   include/private/s.stdio.h

     Example 4: Initializing a history file

     To initialize the history  file  for  a  source  file  named
     program.c,  make  the  SCCS subdirectory, and then use `sccs

     example% mkdir SCCS
     example% sccs create program.c
     14 lines

     After verifying the working copy, you can remove the  backup
     file that starts with a comma:

     example% diff program.c ,program.c
     example% rm ,program.c

     Example 5: Retrieving a file from another directory

     To retrieve a file from another directory into  the  current

     example% sccs get /usr/src/sccs/cc.c


     example% sccs -p/usr/src/sccs/ get cc.c

     Example 6: Checking out all files

     To check out all files under SCCS in the current directory:

     example% sccs edit SCCS

     Example 7: Checking in all files

     To check in all files currently checked out to you:

     example% sccs delta `sccs tell -u`

     Example 8: Entering multiple lines of comments

     If using -y to enter a comment, for most shells, enclose the
     comment  in  single or double quotes. In the following exam-
     ple, Myfile is checked in with a two-line comment:
     example% sccs deledit Myfile -y"Entering a
     multi-line comment"
     No id keywords (cm7)
     2 inserted
     0 deleted
     14 unchanged
     new delta 1.3

     Displaying the SCCS history of Myfile:

     example% sccs prt Myfile


     D 1.2   01/04/20  16:37:07  me 2 1    00002/00000/00014
     Entering a
     multi-line comment

     D 1.1   01/04/15  13:23:32  me 1 0    00014/00000/00000
     date and time created 01/04/15 13:23:32 by me

     If -y is not used and sccs prompts for a comment,  the  new-
     lines must be escaped using the backslash character (\):

     example% sccs deledit Myfile
     comments? Entering a \
     multi-line comment
     No id keywords (cm7)
     0 inserted
     0 deleted
     14 unchanged
     new delta 1.3

     See environ(5) for descriptions of the following environment
     variables  that  affect the execution of sccs: LANG, LC_ALL,

     PROJECTDIR      If contains an absolute path name (beginning
                     with  a  slash), sccs searches for SCCS his-
                     tory files in the directory  given  by  that

                     If PROJECTDIR does not begin with  a  slash,
                     it  is taken as the name of a user, and sccs
                     searches the src or source  subdirectory  of
                     that   user's  home  directory  for  history
                     files. If such a directory is found,  it  is
                     used.  Otherwise,  the  value  is  used as a
                     relative path name.

     The following exit values are returned:

     0        Successful completion.

     >0       An error occurred.

     SCCS                    SCCS subdirectory

     SCCS/d.file             temporary file of differences

     SCCS/p.file             lock    (permissions)    file    for
                             checked-out versions

     SCCS/q.file             temporary file

     SCCS/s.file             SCCS history file

     SCCS/x.file             temporary copy of the s.file

     SCCS/z.file             temporary lock file

     /usr/ccs/bin/*          SCCS utility programs


     See attributes(5) for descriptions of the  following  attri-

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWsprot                   |

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWxcu4t                   |
    | Interface Stability         | Standard                    |

     awk(1), diff(1), sccs-admin(1),  sccs-cdc(1),  sccs-comb(1),
     sccs-delta(1),   sccs-get(1),   sccs-help(1),   sccs-prs(1),
     sccs-rmdel(1),   sccs-sact(1),   sccs-sccsdiff(1),     sccs-
     unget(1),  sccs-val(1), sed(1), what(1), sccsfile(4), attri-
     butes(5), environ(5), standards(5)

Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.