More SCCS usage/Has anybody heard of "SABLE"?

Erik van Konijnenburg konijn at ace.nl
Thu May 12 11:34:22 AEST 1988


Hi.

In the recent summary of SCCS experiences, the following note
touches on one of the most important parts of version control:
keeping multiple files consistent.

>   Charles Lambert <cl at datlog.co.uk>:
>
>   ... Keep a System Description File that
>   lists all the version-numbered sources needed for a correct build.  This
>   is simply a text document that has to be kept up to date.  Since nobody
>   remembers to keep documents up to date,  it is wise to have your shell
>   scripts do it automatically:  every time someone deltas a file, the new
>   version number gets written into the SDF.

And in article <647 at vsi.UUCP>:

>   Stephen J. Friedl <friedl at vsi.UUCP>:
>
>   [ Question about Sable ]
>
>       Related to this, I have found that naked SCCS is really not
>   suitable for doing even small projects and would like to find
>   something more.  I have tried to build tools on top of SCCS and
>   am getting closer, but "The Right Way" has eluded me.  Who knows
>   of good configuration management software based on SCCS?  Even
>   ideas would be helpful.
>

Using System Description Files is definitely the right direction for
version control.  If these files have a fixed format, they can become
the basis of tools for practically all your source control.

    --	It is possible to create source distributions automatically.
    --	It is possible to produce a diff listing between two versions,
	not of a single file, but of a complete product, complete
	with the SCCS comments for all these changes.
    --	Since the version of the snapshot file is a complete
	identification of the product, it is sufficient to put the
	version of the snapshot file in a product.  This means you
	no longer have to wade through pages of version strings to
	get the one you are interested in.
    --	By using SCCS simply as a "backend", much more flexibility is
	available.  For instance recursion: one single version number
	identifies a complete distribution by giving the version 
	numbers of component parts, which give the version numbers of
	component parts, and so on.
    --	The version identification of a System Description File is
	a great shorthand in communication between developers and
	distributors: ``Version 6.25 of the C compiler does loop
	invariant code moving, and could you do a trial UNIX
	distribution and validation with it?''
	Generating the distribution is then a matter of passing that
	single version number to an extraction tool.

We built a system based on System Description Files, and find it
indispensable in keeping order in our distribution (several hundred
megabytes of kernels, uitilities, compilers, etc.).

There is a short paper on these version control tools and how they fit
in with validation, distribution generation, and software problem
report management.  If you're interested in a copy, send mail to

--
Erik van Konijnenburg
+31 20 646416
konijn at ace.nl
or ..!uunet!mcvax!ace!konijn



More information about the Comp.unix.wizards mailing list