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

FreeBSD Manual Pages


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

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

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

       /usr/xpg4/bin/sccs [-r]	[-d rootprefix]	 [-p subdir]  subcommand  [op-
       tion...]	[file...]

       The  sccs  command is a comprehensive, straightforward front end	to the
       various 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.' pre-
       fix to the filename of a	working	copy. The sccs	command	 normally  ex-
       pects 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 file it contains. Thus, the command:

       example%	sccs get program.c

       would apply the get subcommand to  a  history  file  named  SCCS/
       gram.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 subcom-
       mand  argument.	These options are specific to each subcommand, and are
       described along with the	subcommands themselves	(see  Subcommands  be-

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

       The following options are supported:


       -d rootprefix
	     Define  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 abso-
	     lute path name. -d	overrides any directory	specified by the  PRO-
	     JECTDIR environment variable (see ENVIRONMENT VARIABLES below).


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

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

       The following operands are supported:

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

	     An	option or option-argument to be	passed to subcommand.

	     An	operand	to be passed to	subcommand.

       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 may
	     find that the create subcommand is	simpler	to use for  this  pur-

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




	     -r	sid | -rsid
		   Specify  the	 SCCS delta ID (SID) to	which the change nota-
		   tion	is to be added.	The SID	for a given delta is a number,
		   in  Dewey  decimal  format, composed	of two or four fields:
		   the release and level fields, and for  branch  deltas,  the
		   branch  and sequence	fields.	 For instance, the SID for the
		   initial delta is normally 1.1.

		   Specify the comment with which to annotate the  delta  com-
		   mentary.  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
		   specified,  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

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

	     Create  (initialize) history files. create	performs the following

		o  Renames the original	source file to ,program.c in the  cur-
		   rent	directory.

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

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

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

		   Supply  a comment for the delta commentary.	If -y is omit-
		   ted,	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	resulting 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	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.
	     Refer to sccs-delta(1). See the deledit subcommand	for a descrip-
	     tion 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 sub-
	     command 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.




	     -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




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

       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 re-
	     trieved in	unexpanded form. edit accepts the same options as get,
	     below.  Refer  to sccs-get(1) for a list of ID keywords and their

       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
	     history 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 com-
	     mentary. fix must be followed by a	-r option, to specify the  SID
	     of	 the delta to remove. The indicated delta must be the most re-
	     cent (leaf) delta in its branch. Use fix with  caution  since  it
	     does not leave an audit trail of differences (although the	previ-
	     ous 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 version; ID keywords
	     are in expanded form. Refer to sccs-get(1), which includes	a list
	     of	ID keywords and	their definitions.

	     -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

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

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


		   Retrieve the	version	corresponding to the indicated SID. If
		   no sid is specified,	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 supply 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 version num-
	     ber 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	speci-
		   fied,  list	only  files  checked  out  by  that  user. For
		   /usr/xpg4/bin/sccs, the -U option is	equivalent to -u <cur-

       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	speci-

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




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




	     -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	conve-
		   nient 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

       sact  Show  editing  activity  status  of  an SCCS file.	Refer to sccs-

       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 spec-
		   ified,  list	 only  files  checked  out  to	that user. For
		   /usr/xpg4/bin/sccs, the  -U	option	is  equivalent	to  -u

	     "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-val(1).

       what  Display  any  expanded  ID	 keyword strings contained 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 create':

       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 directory:

       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 example, 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 newlines 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: LC_CTYPE, LC_MESSAGES, and NLSPATH.

	     If	 contains an absolute path name	(beginning with	a slash), sccs
	     searches for SCCS history 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	direc-
	     tory is found, it is used.	Otherwise, the value is	used as	a rel-
	     ative path	name.

       The following exit values are returned:

       0     Successful	completion.

       >0    An	error occurred.

       SCCS  SCCS subdirectory

	     temporary file of differences

	     lock (permissions)	file for checked-out versions

	     temporary file

	     SCCS history file

	     temporary copy of the s.file

	     temporary lock file

	     SCCS utility programs

       See attributes(5) for descriptions of the following attributes:

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

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWxcu4t			   |

       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), attributes(5), XPG4(5)

SunOS 5.9			  28 Sep 2001			       sccs(1)


Want to link to this manual page? Use this URL:

home | help