Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
sccs(1) 			  User Commands 			 sccs(1)

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

SYNOPSIS
     /usr/bin/sccs [-N] [-O] [-R] [-r] [-drootprefix] [-psubdir] subcommand
	   [option]...	[file]...

     /usr/xpg4/bin/sccs [-N] [-O] [-R] [-r] [-d rootprefix] [-p subdir]
	   subcommand [option]...  [file]...

DESCRIPTION
     The sccs command is a comprehensive, straightforward front end to the vari-
     ous utility programs of the Source Code Control 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, however, sccs applies the subcommand to every s.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 argu-
     ment. Options for a given subcommand must appear after the subcommand argu-
     ment.  These  options  are  specific  to each subcommand, and are described
     along with the subcommands themselves (see Subcommands below).

   Project oriented subcommand overview
     SCCS historically did only only support a set of  single  unrelated  files,
     but  the  upcoming  SCCSv6 supports also complete projects as a whole. Some
     commands are specific to this project mode of SCCS.

     init      Initialize the current directory or named directory for use  with
	       SCCS as project set home directory.

     root      Print information about the project set home directory.

   Subcommand overview
     Besides the usual SCCS commands, several ``pseudo-commands'' can be issued.
     These are:

     branch    Create  a new branch and retrieve a version for editing.  Equiva-
	       lent to ``get -b -e'' followed by ``delta  -s  -n''  followed  by
	       ``get -e -t -g''.

	       The  -c,  -i, -r and -x flags are passed to the first get; the -p
	       and -l flags are passed to the second get.

     cvt       Convert SCCS history files between SCCS v4 and SCCS v6.	 Equiva-
	       lent to ``sccscvt''.

     edit      Retrieves a version for editing.  Equivalent to ``get -e''.

     editor    Edit a file whether or not it is controlled by SCCS.  Retrieves a
	       version for editing before, if needed.

     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, -o, -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.

     create    Creates an SCCS file, taking the initial contents from  the  file
	       of  the same name.  Any flags to admin are accepted.  If the cre-
	       ation is successful, the files are renamed with a  comma  on  the
	       front.	These  should be removed when you are convinced that the
	       SCCS files have been created successfully.

     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  dan-
	       gerous 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 made  since	the  get
	       will be irretrievably lost.

     histfile  Converts a g-filename into the appropriate s-filename counterpart
	       that is used for SCCS history files.

     info      Gives  a  listing  of  all files being edited.  If the -b flag is
	       given, branches (i.e., SID's with two or  fewer	components)  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.

     istext    Checks whether the files are pure text files or whether they need
	       to be encoded.

     check     Like  info  except  that  nothing  is printed if nothing is being
	       edited, and a non-zero exit status is returned if anything is be-
	       ing edited.  The intent is to have  this  included  in  an  ``in-
	       stall'' 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  pro-
	       gram(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 flags are passed  to  diff.   The  -C	flag  is
	       passed to diff as -c.

     ldiffs    The  same  as  sccs  diffs but the diff(1) command from the local
	       platform is used instead of the diff command  included  with  the
	       SCCS system.

     log       Display a changelog from SCCS history files using delta comments.

     print     This  command  prints  out  verbose  information  about the named
	       files.

     rcs2sccs  This command converts RCS files into SCCS files.

   Running Recursively
     The -R flag lets sccs iterate the command over the directory tree below the
     directory tree below the current working directory or  the  directory  tree
     below  the directory type argument. Some commands are currently not permit-
     ted to be run in recursive mode.

   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  -r flag runs sccs as the real user rather than as whatever ef-
     fective user sccs is ``set user id'' to.

OPTIONS
     The following options are supported by the sccs(1) command itself:

   /usr/bin/sccs
     -drootprefix

   /usr/xpg4/bin/sccs
     -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).

     -N     Enforce sccs(1) to use the new mode. This is the mode that has  been
	    introduced	to  support projects with atomic commits.  In this mode,
	    file name arguments are always the names of the plain  files.   This
	    is	reliable  since  the file names are not converted by sccs(1) but
	    passed unmodified to the SCCS low level utilities, that  are  called
	    with the -N option to switch them into the new mode.

     -O     Enforce  sccs(1) to use the old mode. This is how it has been imple-
	    mented by Eric Allman in 1980.  In this mode,  file  name  arguments
	    are  usually  the names of the plain files, but the s.file names are
	    also accepted and as a result, there may be problems, in case that a
	    file name has been incorrectly converted by sccs(1)  before  calling
	    the SCCS low level utilities.

   /usr/bin/sccs
     -psubdir

   /usr/xpg4/bin/sccs
     -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.

     -R     Run  sccs  in recursive mode via libfind.  If no file type arguments
	    are given to the related sccs subcommand, the directory scan  opera-
	    tion  starts at the current directory.  If the related subcommand is
	    expected to operate only on files that are	currently  edited,  sccs
	    only  operates  on files for which an associated ``p.'' file exists.
	    For all other subcommands, sccs operated on all ``s.'' files  except
	    for those that are in ignored sub directories.

	    This  option  is  a SCHILY extension that does not exist in historic
	    sccs implementations.

     -T     Trace.  Print extra debug messages.

     -V
     -version
     --version
	    Prints the sccs version number string and exists.

OPERANDS
     The following operands are supported:

     file

	    a file passed to subcommand

     option

	    an option or option-argument passed to subcommand

     subcommand

	    one of the subcommands listed in Usage

USAGE
     The usage for sccs is described below.

   Subcommands
     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 history file. Refer to sccs-
	    admin(1) for more information about the admin utility.  While  admin
	    can  be  used  to initialize a history file, you might find that the
	    create subcommand is simpler to use for this purpose.

     branch

	    Create a new branch and retrieve a version for editing.  Except  for
	    creating a new branch, this is equivalent to the edit subcommand.

   /usr/bin/sccs
     cdc -rsid [-y[comment]]

   /usr/xpg4/bin/sccs
     cdc -r sid | -rsid [-y[comment]]

	    Annotate  (change)	the  delta commentary.	Refer to sccs-cdc(1) for
	    more information about the cdc utility.  The fix subcommand  can  be
	    used  to replace the delta, rather than merely annotating the exist-
	    ing commentary.

	    -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 format, composed of two or four fields: the re-
		   lease and level fields, and for branch deltas, the branch and
		   sequence fields. For instance, the SID for the initial  delta
		   is normally 1.1.

	    -y[comment]

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

   /usr/bin/sccs
     check [-b] [-u[username] ]

   /usr/xpg4/bin/sccs
     check [-b] [-u [username] | -U ]

	    Check  for files currently being edited. Like info and tell, but re-
	    turns an exit code, rather than producing a listing of files.  check
	    returns a non-zero exit status if anything is being edited.  The in-
	    tent 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.

	    -b

		   Ignore branches.

	    -u[username] | -u [username] | -U

		   Check only files being edited by you.  When username is spec-
		   ified, check only  files  being  edited  by	that  user.  For
		   /usr/xpg4/bin/sccs,	the  -U option is equivalent to -u <cur-
		   rent_user>.

     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.

     comb

	    Generate  scripts to combine deltas.  Refer to sccs-comb(1) for more
	    information about the comb utility.

     create [-o] [options]

	    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  subdi-
		 rectory.

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

	  Options are passed to the admin program, e.g.:

	  -o	 Use the original file time instead of the current time for  the
		 time of the initial delta.

     cvt

	    Convert  SCCS v4 history files (as introduced in February 1977) into
	    SCCS v6 history files (as introduced in August 2011) and vice versa.
	    Refer to sccs-cvt(1) for more information about the sccscvt utility.
	    In order to convert a larger historic project  (like  e.g.	the  BSD
	    CSRG sccs history) from a different timezone than the local timezone
	    into SCCS v6 use a command similar to:

		TZ=PST sccs -R cvt -V6 .

	    This  subcommand  is  a SCHILY extension that does not exist in his-
	    toric sccs implementations.

     deledit [-o] [-s] [-f] [-q] [-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 intact.  The same flags will be
	    passed to delta as described with  ``delget'',  and  all  the  flags
	    listed  with  ``delget'' for ``get'' except -e and	-k are passed to
	    ``edit''.

	    -o

		   Use the original file time instead of the  current  time  for
		   the time of the delta.

	    -s

		   Silent. Do not report delta numbers or statistics.

	    -f

		   In NSE mode, force to create a delta even when no p.  file is
		   present.

	    -q	   Switch on NSE mode.

	    -y[comment]

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

	    The options -f and -q are SCHILY extensions that  do  not  exist  in
	    historic sccs implementations.

     delget [-o] [-s] [-f] [-q] [-y[comment]]

	    Perform  an  `sccs delta' and then an `sccs get' to check in a delta
	    and retrieve read-only copies of the resulting new version.  See the
	    deledit subcommand for a description of -s, -f, -q,  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.  The -m, -o, -p, -r, -f, -q, -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.

     delta [-o] [-s] [-f] [-q] [-y[comment]]

	    Check  in  pending changes.  Records the line-by-line changes intro-
	    duced while the file was checked out.  The effective user ID must be
	    the same as the ID of the person who has the file checked out.   Re-
	    fer  to  sccs-delta(1) for more information about the delta utility.
	    See the deledit subcommand for a description of -s, -f, -q, and -y.

   /usr/bin/sccs
     diffs [-C] [-I] [-cdate-time] [-rsid] diff-options

   /usr/xpg4/bin/sccs
     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 subcommand get.  A
	    -C option is passed to diff as -c.	An -I option is passed	to  diff
	    as -i.

	    The  diffs	subcommand calls the UNIX diff(1) command that is deliv-
	    ered with the SCCS packet. If you like to  call  the  local  diff(1)
	    command that is in your PATH, use the ldiffs subcommand.

	    -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 maxi-
		   mum	 possible  values;  that  is  -c7502  is  equivalent  to
		   -c750228235959.

	    -r sid | -rsid

		   Use the version corresponding to the indicated delta for com-
		   parison.

	    The SCHILY version of SCCS calls `get -o' to retrieve the  old  ver-
	    sion of the file in order to be able to get correct time stamps when
	    e.g. the -u flag is passed to diff(1).

     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 un-
	    expanded form.  edit accepts the same options as get, below.   Refer
	    to	sccs-get(1) for more information about the get utility and for a
	    list of ID keywords and their definitions.	The edit  subcommand  is
	    basically equivalent to ``get -e''.

     editor

	    Edit  a  file whether or not is is controlled by SCCS.  If a file is
	    controlled by SCCS and currently not checked out  for  editing,  the
	    file  is checked out for editing first and then edited.  If the file
	    is not under control of SCCS, the editor is called directly.

	    The SCCS_EDITOR or EDITOR environment variable must be set appropri-
	    ately in order to call a custom editor.

	    A way to hide the fact that files need to checked  out  for  editing
	    first, is to set SCCS_EDITOR and then alias the editor, e.g.:

	       SCCS_EDITOR=ved
	       alias ved='sccs editor'

	    Note that in order to minimize the side effects of calling the alias
	    `ved  *', sccs editor will call unget(1) or sccs unedit on all files
	    that have not been modified by the edit session and  that  have  not
	    been checked out for editing before.

	    This  subcommand  is  a SCHILY extension that does not exist in his-
	    toric sccs implementations.

     enter

	    Similar to create, but omits the final `sccs get'.	This can be used
	    if an `sccs edit' is to be performed immediately after  the  history
	    file is initialized.

   /usr/bin/sccs
     fix -rsid [-d]

   /usr/xpg4/bin/sccs
     fix [-d] -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  di-
	    rectory.  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).

	    -d	   Fully  discard  the	delta.	By default only the file content
		   for the related SID is removed and the delta table  entry  is
		   changed to the new type `R'.  When in discard mode, the delta
		   table entry is also completely discarded.

   /usr/bin/sccs
     get [-ekmops] [-Gnewname] [-cdate-time] [-r[sid] ]

   /usr/xpg4/bin/sccs
     get [-ekmops] [-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 version.	ID keywords  are
	    in	expanded  form.  Refer to sccs-get(1) for more information about
	    the get utility, which includes a list of ID keywords and their def-
	    initions.

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

	    -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
		   keywords are unexpanded.

	    -m

		   Precede  each  line with the SID of the delta in which it was
		   added.

	    -o

		   Retrieves the file under the original time of  the  requested
		   version.

	    -p

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

	    -r sid | -rsid

		   Retrieve the version corresponding to the indicated SID.  For
		   /usr/bin/sccs, if no sid is specified, the latest sid for the
		   specified file is retrieved.

	    -s

		   Silent. Do not report version numbers or statistics.

     help message-code | sccs-command

     help stuck

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

     histfile pathname

	    Converts  a  g-filename  into the appropriate s-filename counterpart
	    that is used for SCCS history files.

	    While sccs(1) in former times just added SCCS/s.   before  the  last
	    path name component, there is now support for off-tree history files
	    that are located inside a directory .sccs in the project root direc-
	    tory.   The  histfile  subcommand knows which operating mode is cur-
	    rently in use and returns the appropriate path to the history file.

	    If the pathname argument refers to a directory, the  result  is  the
	    directory  that  holds  the SCCS history files for the files in that
	    directory.

   /usr/bin/sccs
     info [-b] [-u[username] ]

   /usr/xpg4/bin/sccs
     info [-b] [-u [username] | -U]

	    Display a list of files being edited, including the  version  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 [username] | -U

		   List only files checked out by you. When username  is  speci-
		   fied,   list  only  files  checked  out  by	that  user.  For
		   /usr/xpg4/bin/sccs, the -U option is equivalent to  -u  <cur-
		   rent_user>.

     init [-f] [-i] [-s] [directory]

	    Initialize a directory for use with SCCS in project mode.  See sccs-
	    init(1) for more information.

     istext [-D] [-s] [-V4 | -V6]

	    Checks whether the files are pure text files or whether they need to
	    be encoded.

	    -D	   Print  the  current	default history file format. This is the
		   history file format assumed in case that neither -V4 nor  -V6
		   have been specified.  No file argument is permitted when this
		   option has been specified.

	    -s	   Be silent. If all file are pure text, the exit code is 0.

	    -V4    Check with SCCS v4 rules.  A file is not pure text if it con-
		   tains one or more null characters, if a line starts with \001
		   (^A) or if the file does not end with a newline character.

	    -V6    Check with SCCS v6 rules.  A file is not pure text if it con-
		   tains one or more null characters.

     This  subcommand is a SCHILY extension that does not exist in historic sccs
     implementations.

     ldiffs

	    Compare different file versions.

	    The ldiffs subcommand calls the local UNIX diff(1) command as  found
	    via  the PATH environment variable.  The ldiffs subcommand is other-
	    wise identical to the diffs subcommand.

	    This subcommand is a SCHILY extension that does not  exist	in  his-
	    toric sccs implementations.

     log

	    Display  a	changelog  from SCCS history files using delta comments.
	    Refer to sccs-log(1) for more information about the sccslog utility.

	    This subcommand is a SCHILY extension that does not  exist	in  his-
	    toric sccs implementations.

     print [-a] [-A] [-n] [-rsid] file ...

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

	    -A	   Annotates the output (see sccs-get(1)).

	    -a	   Includes all deltas, including those marked as  removed  (see
		   sccs-rmdel(1)).

	    -m	   (see sccs-get(1)).

	    -rsid  Specify the SID (see sccs-get(1)).

   /usr/bin/sccs
     prs [-el] [-cdate-time] [-rsid]

   /usr/xpg4/bin/sccs
     prs [-el] [-c date-time | -cdate-time] [-r sid | -rsid]

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

	    -c date-time | -cdate-time

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

	    -e

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

	    -l

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

	    -r sid | -rsid

		   Specify a given delta by SID.

     prt [-y]

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

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

     rcs2sccs [-rm] [-V6]

	    Convert  RCS  history  files  into SCCS history files.  If a list of
	    files is specified, this list is converted.  If  no  file  arguments
	    are specified, all RCS files in the current directory are converted.
	    Refer  to  sccs-rcs2sccs(1)  for more information about the rcs2sccs
	    utility.

	    This subcommand is a SCHILY extension that does not  exist	in  his-
	    toric sccs implementations.

   /usr/bin/sccs
     rmdel -rsid

   /usr/xpg4/bin/sccs
     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) for more information about the rmdel utility.

     root [-v] [directory]

	    Print  information	about the project set home directory.  See sccs-
	    root(1) for more information.

     sact

	    Show editing activity status of an SCCS file.  Refer to sccs-sact(1)
	    for more information about the sact utility.

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

	    Compare two versions corresponding to the  indicated  SIDs	(deltas)
	    using  diff.   Refer  to sccs-sccsdiff(1) for more information about
	    the sccsdiff utility.

   /usr/bin/sccs
     tell [-b] [-u[username] ]

   /usr/xpg4/bin/sccs
     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 [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 <cur-
		   rent_user>.

     unedit [-o]

	    "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.  It should be used with  extreme	caution,
	    since any changes you made since the get will be irretrievably lost.

	    -o	   Retrieves  the  file  under	the original time instead of the
		   current time with the final get command.

     unget

	    Same as unedit.  Refer to sccs-unget(1) for more  information  about
	    the unget utility.

     val

	    Validate  the  history file.  Refer to sccs-val(1) for more informa-
	    tion about the val utility.

     what

	    Display any expanded ID keyword strings contained in a  binary  (ob-
	    ject) or text file.  Refer to what(1) for more information about the
	    what utility.

EXAMPLES
     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
       1.1
       new delta 1.2
       14 lines

       example% vi program.c
       your editing session

       example% sccs delget program.c
       comments? clarified cryptic diagnostic
       1.2
       3 inserted
       2 deleted
       12 unchanged
       1.2
       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

     to:

       /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

     becomes:

       /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, use `sccs
     create':

       example% sccs create program.c
       program.c:
       1.1
       14 lines

     If needed, sccs will create the SCCS directory first.  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 directory:

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

     or:

       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 example,  Myfile  is  checked  in
     with a two-line comment:

       example% sccs deledit Myfile -y"Entering a
       multi-line comment"
       No id keywords (cm7)
       1.2
       2 inserted
       0 deleted
       14 unchanged
       1.2
       new delta 1.3

     Displaying the SCCS history of Myfile:

       example% sccs prt Myfile

       SCCS/s.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 newlines must be es-
     caped using the backslash character (\):

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

ENVIRONMENT VARIABLES
     See environ(7) for descriptions of the following environment variables that
     affect the execution of sccs(1): LANG, LC_ALL, LC_CTYPE,  LC_MESSAGES,  and
     NLSPATH.

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

		   If PROJECTDIR does not begin with a slash, it is taken as the
		   name of a user, and sccs searches the src or source subdirec-
		   tory  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.

     SCCS_EDITOR   The editor to call with the sccs editor command.

     EDITOR	   The	editor	to  call  with	the  sccs editor command in case
		   SCCS_EDITOR is not set.  If neither SCCS_EDITOR nor EDITOR is
		   set, vi(1) is called as editor.

     SCCS_NO_HELP  If set, sccs(1) will not automatically call help(1) with  the
		   SCCS  error	code in order to print a more helpful error mes-
		   sage. Scripts that depend on the exact error messages of SCCS
		   commands should set the environment variable SCCS_NO_HELP and
		   set LC_ALL=C.

     TZ 	   Used for the timezone when reading or writing the  SCCS  his-
		   tory file or when converting between SCCS v4 and SCCS v6.

EXIT STATUS
     The following exit values are returned:

     0	    Successful completion.

     >0     An error occurred.

FILES
     SCCS	    SCCS subdirectory

     SCCS/d.file    temporary file created by the delta(1) program with the con-
		    tent of the previous version, used to compute differences to
		    the current version

     SCCS/e.file    temporary file to hold an uuencoded version of the g-file in
		    case of an encoded history file

     l.file	    file  containing  extracted  delta table info created by the
		    get(1) program

     SCCS/p.file    permissions (lock) file for checked-out versions.  See sccs-
		    get(1) for a description of the layout of the p.file.

     SCCS/q.file    temporary copy of the p.file; renamed to  the  p.file  after
		    completion

     SCCS/s.file    SCCS history file

     SCCS/x.file    temporary  copy  of  the s.file; renamed to the s.file after
		    completion

     SCCS/z.file    temporary lock file contains the binary process id	in  host
		    byte order followed by the host name

     /usr/ccs/bin/*
		    SCCS utility programs

ATTRIBUTES
     See attributes(7) for descriptions of the following attributes:

   /usr/bin/sccs
     +------------------------------+-----------------------------+
     |	     ATTRIBUTE TYPE	    |	   ATTRIBUTE VALUE	  |
     +------------------------------+-----------------------------+
     | Availability		    |SCHILYdeveloper-build-sccs   |
     | Availability		    |SUNWsprot			  |
     +------------------------------+-----------------------------+

   /usr/xpg4/bin/sccs
     +------------------------------+--------------------------------+
     |	     ATTRIBUTE TYPE	    |	     ATTRIBUTE VALUE	     |
     +------------------------------+--------------------------------+
     | Availability		    |SCHILYdeveloper-build-sccs-xcu4 |
     | Availability		    |SUNWxcu4t			     |
     +------------------------------+--------------------------------+
     | Interface Stability	    |Standard			     |
     +------------------------------+--------------------------------+

SEE ALSO
     sccs-add(1),  sccs-admin(1),  sccs-branch(1),  sccs-cdc(1),  sccs-check(1),
     sccs-clean(1), sccs-comb(1), sccs-commit(1),  sccs-create(1),  sccs-cvt(1),
     sccs-deledit(1),	   sccs-delget(1),     sccs-delta(1),	  sccs-diffs(1),
     sccs-edit(1),  sccs-editor(1),  sccs-enter(1),  sccs-fix(1),   sccs-get(1),
     sccs-help(1), sccs-histfile(1), sccs-info(1), sccs-init(1), sccs-istext(1),
     sccs-ldiffs(1),   sccs-log(1),   sccs-print(1),  sccs-prs(1),  sccs-prt(1),
     sccs-rcs2sccs(1),	  sccs-remove(1),     sccs-rename(1),	  sccs-rmdel(1),
     sccs-root(1), sccs-sact(1), sccs-sccsdiff(1), sccs-status(1), sccs-tell(1),
     sccs-unedit(1),  sccs-unget(1),  sccs-val(1),  bdiff(1),  diff(1), what(1),
     sccschangeset(5), sccsfile(5), attributes(7), environ(7), standards(7).

AUTHORS
     sccs(1) was originally written by Eric Allman at UCB in 1980. It was  later
     maintained  by  various people at AT&T and Sun Microsystems. Since 2006, it
     has been maintained by Joerg Schilling and the schilytools project authors.

SOURCE DOWNLOAD
     The source code for SCCS is included in the schilytools project and may  be
     retrieved from the schilytools project at Codeberg at

     https://codeberg.org/schilytools/schilytools.

     The download directory is

     https://codeberg.org/schilytools/schilytools/releases.

SunOS 5.11			   2022/10/06				 sccs(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sccs&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help