[comp.unix.wizards] Help on SCCS

chiang@m2c.ORG (Rit Chiang) (02/19/88)

I am currently implementing SCCS in our organization.  I have learned all
I can learn from the Dec Ultrix manuals ...  I would like to find out
your experiences with SCCS.

Also, I have a few questions and hopefully SCCS and Unix guru could answer.

1) Since SCCS would not let you do hierarchy, is there anything out
there that can traverse the tree structure of SCCS directories.  I have
implemented a recursive csh script that would take any SCCS commands
and traverse down the tree.  However, I have noticed the performance
is awful.

2) Has anyone implemented anything on top of SCCS, such as report generation,
storage of non-ASCII files, and the likes.

3) Is there any good references besides Intro to SCCS, that could
provide me with a better understanding on how organization utilized SCCS
in their development environment.

I will appreciate any response from any of you gurus out there.



---------------------------------------------------------------------

Rit Chiang
Massachusetts Microelectronics Center
75 North Drive.,
Westboro, MA 01581
(617)870-0312

UUCP :  {harvard, ulowell}!m2c!chiang
Internet: chiang@m2c.org
CSNET: chiang%m2c.org@relay.cs.net

bd@hpsemc.HP.COM (bob desinger) (03/02/88)

Rit Chiang (chiang@m2c.ORG) writes:
> 1) Since SCCS would not let you do hierarchy, is there anything out
> there that can traverse the tree structure of SCCS directories.  I have
> implemented a recursive csh script that would take any SCCS commands
> and traverse down the tree.  However, I have noticed the performance
> is awful.

The csh may be dragging you down; scripts written in csh start up more
slowly and are more sluggish to respond to signals than /bin/sh or ksh
scripts.  Try rewriting it in sh (or ksh if you have that).

It's possible that the script's algorithm may be slow, too, but fixing
that would require a lot of testing to see what your shell can do
quickly, followed by a rewrite of the slowest parts.  Rewriting may
involve C instead of shell, which takes much longer but offers better
measurement tools (prof or gprof).

A more deep-seated problem may be your file system's performance.  If
a simple `find {sccs-directories} -print' command seems slow, file
system accesses are slow and rewriting your scripts will probably be
pointless.  Fixing this can be painful.  You might get a minor tune-up
(improving file system access speed by about 5% or less) via a full
backup of the filesystem followed by a newfs [or mkfs, depending on
your Unix implementation] and then a restore.  But your root-person or
admin staff won't be keen to do this because it's time-consuming, it's
dangerous, it wears off after a while, and 5% is a pretty meager
improvement even if you get that much.

> 2) Has anyone implemented anything on top of SCCS, such as report generation,
> storage of non-ASCII files, and the likes.

Report generation is typically done with shell scripts that call prs(1)
and awk or sed.  This is SCCS's biggest advantage over RCS:  prs can
reveal astonishing details about what changed or how much.

Storage of non-ASCII (really, "unprintable") files will be hard to do
without pre-processing, since SCCS uses a leading control-A on some
lines to maintain history and administrative data.  Control-A is value
"1", which tends to occur pretty often in binary data.  According to
Kernighan and Pike's _The_Unix_Programming_Environment_, SCCS uses the
diff program.  Using diff on binaries is, er, unwieldy.

> 3) Is there any good references besides Intro to SCCS, that could
> provide me with a better understanding on how organization utilized SCCS
> in their development environment.

If you know anyone who has an HP-UX system, borrow their _HP-UX_
_Concepts_and_Tutorials:_Programming_Environment_ manual and look in
the SCCS section.  Starting on page 41, the section on "Using SCCS on
a Multi-User Project" explains one scheme and shows some code to help
you get started administering a project.

Intermediate Unix programming classes usually touch on SCCS, too.  I'm
surprised that there's no Nutshell Handbook about SCCS, although the
Handbook on `make' mentions it briefly.

If you get any good answers by mail, please summarize to the net!

bob desinger
bd%hpsemc@hplabs.HP.COM