|
NAMEsccs - 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]
DESCRIPTIONThe 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.' 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 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). Project oriented subcommand overviewSCCS 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.
Subcommand overviewBesides the usual SCCS commands, several ``pseudo-commands'' can be issued. These are:
Running RecursivelyThe -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 permitted to be run in recursive mode.Running SetuidThe 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 effective user sccs is ``set user id'' to.OPTIONSThe following options are supported by the sccs(1) command itself:/usr/bin/sccs
/usr/xpg4/bin/sccs
/usr/bin/sccs
/usr/xpg4/bin/sccs
OPERANDSThe following operands are supported:
USAGEThe usage for sccs is described below.SubcommandsMany 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.
/usr/bin/sccscdc -rsid [-y[comment]] /usr/xpg4/bin/sccscdc -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 existing 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 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 commentary. If -y is omitted, sccs prompts for a comment. A null comment results in an empty annotation. /usr/bin/sccscheck [-b] [-u[username] ]
/usr/xpg4/bin/sccscheck [-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. The intent is to have this included in an ``install'' entry in a makefile to insure that everything is included into the SCCS file before a version is installed.
-u[username] | -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>.
Options are passed to the admin program, e.g.:
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''.
-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 introduced 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) for more information about the delta utility. See the deledit subcommand for a description of -s, -f, -q, and -y. /usr/bin/sccsdiffs [-C] [-I]
[-cdate-time] [-rsid] diff-options
/usr/xpg4/bin/sccsdiffs [-C] [-I] [-c
date-time | -cdate-time ]
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 delivered 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 maximum possible values; that is -c7502 is equivalent to -c750228235959. -r sid | -rsid Use the version corresponding to the indicated delta for comparison. The SCHILY version of SCCS calls `get -o' to retrieve the old version of the file in order to be able to get correct time stamps when e.g. the -u flag is passed to diff(1).
/usr/bin/sccsfix -rsid [-d] /usr/xpg4/bin/sccsfix [-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 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).
/usr/bin/sccsget [-ekmops] [-Gnewname] [-cdate-time] [-r[sid] ] /usr/xpg4/bin/sccsget [-ekmops] [-G newname |
-Gnewname]
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 definitions. -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]]]]].
-G newname | -Gnewname Use newname as the name of the retrieved version.
-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.
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) 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 directory. The histfile subcommand knows which operating mode is currently 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/sccsinfo [-b] [-u[username] ] /usr/xpg4/bin/sccsinfo [-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.
-u[username] | -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 <current_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.
This subcommand is a SCHILY extension that does not exist in historic 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'.
/usr/bin/sccsprs [-el] [-cdate-time] [-rsid] /usr/xpg4/bin/sccsprs [-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]]]]].
-r sid | -rsid Specify a given delta by SID.
/usr/bin/sccs
/usr/xpg4/bin/sccs
root [-v] [directory] Print information about the project set home directory. See sccs-root(1) for more information.
/usr/bin/sccstell [-b] [-u[username] ] /usr/xpg4/bin/sccstell [-b] [-u [username] | -U] Display the list of files that are currently checked out, one file per line.
-u[username] | -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>.
EXAMPLESExample 1 Checking out, editing, and checking in a fileTo 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 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 VARIABLESSee environ(5) for descriptions of the following environment variables that affect the execution of sccs(1): LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.
EXIT STATUSThe following exit values are returned:
FILES
ATTRIBUTESSee attributes(5) for descriptions of the following attributes:/usr/bin/sccs
/usr/xpg4/bin/sccs
SEE ALSOsccs-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(4), sccsfile(4), attributes(5), environ(5), standards(5).AUTHORSsccs(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 is maintained by Joerg Schilling.SOURCE DOWNLOADA frequently updated source code for the SCCS suite is included in the schilytools project and may be retrieved from the schilytools project at Sourceforge at:http://sourceforge.net/projects/schilytools/ The download directory is: http://sourceforge.net/projects/schilytools/files/ Check for the schily-*.tar.bz2 archives. Less frequently updated source code for the SCCS suite is at: http://sourceforge.net/projects/sccs/files/ Separate project informations for the SCCS project may be retrieved from:
http://sccs.sf.net
Visit the GSP FreeBSD Man Page Interface. |