sccs(1) User Commands sccs(1)NAMEsccs - front end for the Source Code Control System (SCCS)
SYNOPSIS
/usr/ccs/bin/sccs [-r] [-drootprefix] [-psubdir] subcommand [option...]
[file...]
/usr/xpg4/bin/sccs [-r] [-d rootprefix] [-p subdir] subcommand
[option...] [file...]
DESCRIPTION
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
expects these `s.files' to reside in an SCCS subdirectory. Thus, when
you supply sccs with a file argument, it normally applies the subcom‐
mand 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/s.pro‐
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
below).
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
always run as the real user.
OPTIONS
The following options are supported:
/usr/ccs/bin/sccs
-drootprefix
/usr/xpg4/bin/sccs
-d rootprefix Defines the root portion of the path name for SCCS his‐
tory 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).
/usr/ccs/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 EXAM‐
PLES below).
-r Runs sccs with the real user ID, rather than set to the
effective user ID.
OPERANDS
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 subcom‐
mand.
operands An operand to be passed to subcommand.
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 may find that the create subcommand
is simpler to use for this purpose.
/usr/ccs/bin/sccs
cdc -rsid [ -y[comment]]
/usr/xpg4/bin/sccs
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.
/usr/ccs/bin/sccs
-rsid
/usr/xpg4/bin/sccs
-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 num‐
ber, 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.
-y"[comment]"
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.
/usr/ccs/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
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.
/usr/ccs/bin/sccs
-u[username
/usr/xpg4/bin/sccs
-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 <current_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).
create
Create (initialize) history files. create performs the following
steps:
· Renames the original source file to ,program.c in the current
directory.
· Create the history file called s.program.c in the SCCS subdi‐
rectory.
· 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.
-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.
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.
/usr/ccs/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.
/usr/ccs/bin/sccs
-cdate-time
/usr/xpg4/bin/sccs
-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.
/usr/ccs/bin/sccs
-rsid
/usr/xpg4/bin/sccs
-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 ver‐
sion 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 imme‐
diately after the history file is initialized.
/usr/ccs/bin/sccs
fix -rsid
/usr/xpg4/bin/sccs
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 commen‐
tary. 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 commen‐
tary is retained within the history file).
/usr/ccs/bin/sccs
get [-ekmps] [-Gnewname] [-cdate-time] [-r[sid] ]
/usr/xpg4/bin/sccs
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 added.
-p Produce the retrieved version on the stan‐
dard 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.
/usr/ccs/bin/sccs
-cdate-time
/usr/xpg4/bin/sccs
-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]]]]].
/usr/ccs/bin/sccs
-r[sid] Retrieve the version corresponding to the indicated
SID. If no sid is specified, the latest sid for the
specified file is retrieved.
/usr/xpg4/bin/sccs
-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).
/usr/ccs/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.
/usr/ccs/bin/sccs
-u[username]
/usr/xpg4/bin/sccs
-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 equiv‐
alent to -u <current_user>.
print Print the entire history of each named file. Equivalent
to an `sccs prs -e' followed by an `sccs get -p -m'.
/usr/ccs/bin/sccs
prs [-el] [-cdate-time] [-rsid]
/usr/xpg4/bin/sccs
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 includ‐
ing, that specified by -c or -r.
/usr/ccs/bin/sccs
-cdate-time
/usr/xpg4/bin/sccs
-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]]]]].
/usr/ccs/bin/sccs
-rsid
/usr/xpg4/bin/sccs
-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 con‐
venient for use in a pipeline with awk(1) or sed(1).
/usr/ccs/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).
sact
Show editing activity status of an SCCS file. Refer to sccs-
sact(1).
sccsdiff -rold-sid -rnew-sid diff-options
Compare two versions corresponding to the indicated SIDs (deltas)
using diff. Refer to sccs-sccsdiff(1).
/usr/ccs/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.
/usr/ccs/bin/sccs
-u[username]
/usr/xpg4/bin/sccs
-u [username] | -U List only files checked out to you. When
username is specified, list only files
checked out to that user. For
/usr/xpg4/bin/sccs, the -U option is
equivalent to -u <current_user>.
unedit "Undo" the last edit or `get -e', and return the work‐
ing 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.
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, make
the SCCS subdirectory, and then use `sccs create':
example% mkdir SCCS
example% sccs create program.c
program.c:
1.1
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
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
escaped 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(5) for descriptions of the following environment variables
that affect the execution of sccs: 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 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.
EXIT STATUS
The following exit values are returned:
0 Successful completion.
>0 An error occurred.
FILES
SCCS SCCS subdirectory
SCCS/d.file temporary file of differences
SCCS/p.file lock (permissions) file for checked-out ver‐
sions
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
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
/usr/ccs/bin/sccs
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWsprot │
└─────────────────────────────┴─────────────────────────────┘
/usr/xpg4/bin/sccs
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWxcu4t │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Standard │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOawk(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), environ(5), standards(5)SunOS 5.10 28 Sep 2001 sccs(1)