Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sccs(1) — SunOS 0.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

admin(1)

cdc(1)

comb(1)

delta(1)

get(1)

help(1)

prs(1)

prt(1)

rmdel(1)

sact(1)

sccsdiff(1)

sccsfile(5)

unget(1)

val(1)

what(1)

SCCS(1)  —  User’s Manual — Commands

NAME

sccs − front end for the SCCS subsystem

SYNOPSIS

sccs [ −r ] [ −d path ] [ −p path ] command [ SCCS-flags ... ] [ file ... ]

DESCRIPTION

Sccs is a front end to the Source Code Control System (SCCS) programs which helps them mesh more cleanly with the rest of UNIX.  Sccs runs the command with the specified SCCS-flags and file’s. Sccs normally prefixes each file name with the directory name ‘SCCS/s.’ Sccs program options must appear before the command argument.  Flags to be passed to the actual SCCS program must appear after the command argument.  These flags are specific to the command being used, and are discussed in the documentation for that command. 

Sccs also includes the capability to run ‘set user id’ to another user to provide additional protection.  Certain commands (such as admin) cannot be run ‘set user id’ by all users, since this would allow anyone to change the authorizations.  Such commands are always run as the real user.

OPTIONS

−rRuns sccs as the real user rather than as whatever effective user sccs is ‘set user id’ to. 

−dpath
Path is a pathname for the SCCS files.  The default is the current directory. Path is prefixed to the entire pathname.  For example, sccs  −d/x  get a/b converts to get  /x/a/y/s.b.  The intent here is to create aliases such as alias  syssccs  sccs  −d/usr/src which will be used as syssccs  get  cmd/who.c. 

−ppath
Defines the pathname of the directory in which the SCCS files will be found; ‘SCCS’ is the default.  Path is appended before the final component of the pathname.  For example, sccs  −py  get  a/b converts to get  a/y/s.b. 

COMMANDS

Several ‘pseudo-commands’ are available in addition to the usual SCCS commands.  These are:

editGet a file for editing. 

delgetPerform a delta on the named files and then get new versions.  The new versions have id keywords expanded, and so cannot be edited. 

deleditSame as delget, but produces new versions suitable for editing.  Deledit is useful for making a ‘checkpoint’ of your current editing phase. 

fixRemoves the named delta, but leaves you with a copy of the delta with the changes that were in it.  Fix must be followed by a −r flag.  Fix is useful for fixing small compiler bugs, etc.  Since fix doesn’t leave audit trails, use it carefully. 

cleanRemoves everything from the current directory that can be recreated from SCCS files.  Clean checks for and does not remove any files being edited.  If Clean −b is used, branches are not checked to see if they are currently being edited.  Note that −b is dangerous if you are keeping the branches in the same directory. 

unedit‘Undoes’ the last edit or get −e and returns a file to its previous condition.  If you unedit a file being edited, all changes made since the beginning of the editing session are lost. 

infoDisplays a list of all files being edited.  If the −b flag is given, branches (that is, SID’s with two or fewer components) are ignored.  If the −u flag is given (with an optional argument), only files being edited by you (or the named user) are listed. 

checkChecks for files currently being edited, like info, but returns an exit code rather than a listing:  nothing is printed if nothing is being edited, and a non-zero exit status is returned if anything is being edited.  Check may thus be included in an ‘install’ entry in a makefile, to ensure that everything is included in an SCCS file before a version is installed. 

tellDisplays a list of files being edited on the standard output.  Filenames are separated by newlines.  Takes the −b and −u flags like info and check. 

diffsCompares (in diff-like format) the current version of the program you have out for editing and the versions in SCCS format. 

EXAMPLES

To put a file into SCCS format:

% mkdir SCCS
% sccs admin −i initialfile newfile

To get a file for editing, edit it, and produce a new delta:

% sccs edit file.c
% vi file.c
   your editing session
% sccs delta file.c

To get a file from another directory:

% sccs −p/usr/src/sccs/s. get cc.c

or:

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

To make a delta of a large number of files in the current directory:

% sccs delta ∗.c

To get a list of files being edited that are not on branches:

% sccs info −b

To delta everything that you are editing:

% sccs delta `sccs tell −u`

In a makefile, to get source files from an SCCS file if it does not already exist:

SRCS = <list of source files>
$(SRCS):
sccs get $(REL) $@

SEE ALSO

admin(1), cdc(1), comb(1), delta(1), get(1), help(1), prs(1), prt(1), rmdel(1), sact(1), sccsdiff(1), sccsfile(5), unget(1), val(1), what(1)
Eric Allman, An Introduction to the Source Code Control System
Bonnani and Salemi, Source Code Control System User’s Guide

Sun System Release 0.3  —  28 April 1983

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026