[comp.unix.programmer] SCCS: vc command, slists, etc.

rob@b15.INGR.COM (Rob Lemley) (10/27/90)

What is the Source Code Control System Utility "vc" used for?

What tools have been developed to create, update and maintain slists.
How were these slists organized?

What other front-ends and supplementary SCCS software is out there?
Any Public Domain stuff?

Thanks,
Rob
--
Rob Lemley
System Consultant, Scanning Software, Intergraph, Huntsville, AL
205-730-1546
...!uunet!ingr!b15!rob    OR    b15!rcl@ingr.com

woods@eci386.uucp (Greg A. Woods) (10/29/90)

In article <1763@b15.INGR.COM> rob@b15.INGR.COM (Rob Lemley) writes:
> What is the Source Code Control System Utility "vc" used for?

It's a very simple sort of macro processor.  We've used it in place of
awk or sed to manage different versions of documents.  The way we used
it was to control the inclusion of sections of a file based on
keywords, which allowed us to use SCCS to control the versions of the
two very similar documents, with branches being customer specific, and
vc differentiating between the two documents.  Awk could have done it,
but it would have been an awk programme to emulate what vc does
naturally.  I suppose sed could have been used too, but not as neatly.

I suspect vc was originally designed to manage a database of SCCS-ID's
for a set of files belonging to a project.  However, I have not
encountered any software that uses vc in this manner.  Perhaps someone
at AT&T could enlighten us.  Perhaps the papers describing it's use
are in a BSTJ, or are available as technical memorandums.

> What tools have been developed to create, update and maintain slists.
> How were these slists organized?

I have never gone beyond a couple of very simple scripts and/or
aliases to create files containing the prs output for the top versions
of the current files in a format that can be used in a diff with the
output of what.  This lets one compare quite quickly what changes have
been made to sources since a binary was generated, and can be quite
useful in support scenarios.

I had always wanted a script that could create a new directory, and
check out versions of files based on a what list (or a prs list
generated at a release date), so that particular versions could be
re-created.

A fancy script that printed the MR's and comments for differences
between a current version, and a what list from an old version would
be quite useful too.

In the end, what I usually do is make the "version" of a release equal
to the exact date (and sometimes the time too).  With SCCS it is
reasonably easy to find changes subsequent to a particular date, or to
check out versions current on a particular date.

> What other front-ends and supplementary SCCS software is out there?
> Any Public Domain stuff?

See my previous posting.  Eric Allman's sccs, which comes with most
BSD systems, is covered by the BSD copyright, and is essentially
freeware.
-- 
						Greg A. Woods

woods@{eci386,gate,robohack,ontmoh,tmsoft}.UUCP
+1-416-443-1734 [h]  +1-416-595-5425 [w]    VE3-TCP	Toronto, Ontario CANADA

jmm@eci386.uucp (John Macdonald) (10/30/90)

In article <1763@b15.INGR.COM> rob@b15.INGR.COM (Rob Lemley) writes:
|What is the Source Code Control System Utility "vc" used for?
|
|What tools have been developed to create, update and maintain slists.
|How were these slists organized?
|
|What other front-ends and supplementary SCCS software is out there?
|Any Public Domain stuff?

Vc is a macro processor along the lines of cpp or m4.  It is less
likely to expand a macro because an incidental piece of text happens
to contain the macro name, so it is more convenient than cpp or m4
to use on an existing file than you decide that you want to have
multiple versions of.  I have used it in conjunction with sccs
(by hand not using a front-end for this activity) for managing a
legal contract that went through many revisions of the basic (blank)
contract with vc managed variants for "draft" or "official" copies
of a contract, and for "single CPU" vs "site list of CPUs" versions
of the contract.
-- 
Cure the common code...                      | John Macdonald
...Ban Basic      - Christine Linge          |   jmm@eci386