SCCS vs RCS

Gary S. Trujillo gst at wjh12.harvard.edu
Sun Jun 25 10:15:58 AEST 1989


>/ mark at ria-emh2.army.mil (Mark D. McKamey IM SA) /  7:36 am  Jun  6, 1989 /
>     I am currently looking into implementing a revision control program
>for numerous source files here locally.  I am somewhat familiar with AT&T's
>SCCS program, but have heard of a program called RCS (Revision Control System)
>by Purdue University.  ...

[discussion begun in comp.unix.questions - being cross-posted to
comp.unix.wizards for purposes of informed discussion]

I just joined this discussion, so I don't know if it's already been mentioned,
but I wanted to point out that Eric Allman has written an article comparing the
two systems in the March '89 issue (vol. 7, no. 3) of _UNIX_Review_ magazine
in the "C Advisor" column (p. 72 ff).  In the concluding section of the article
[quoted from without permission], Eric says:

	One more important question must be asked:  Which one should
	you use?  As always, the answer is: it depends.  SCCS is older
	and generally more mature.  In my opinion, many of the funda-
	mental design elements of SCCS are superior to those of RCS.
	For example, I have seen RCS trash master files when the disk
	ran out of space at inopportune times, and RCS is much more
	cavalier about writing the master file than is SCCS.
	Specifically, SCCS does not rewrite the master file when you
	check out a file, changing it only when you check a new
	version in.

	All the same, the user interface of RCS is on the whole much
	nicer.  RCS allows for the naming of versions, whcih is very
	useful when you have several files in one directory that make
	up a single system.

	RCS also assigns a *state* to each version, such as
	"Experimental" or "Release".  This simplifies release
	management somewhat.  It has been my experience, however, that
	in very large systems (several hundred files in several
	directories) more sophisticated version and release management
	is necessary.  In such cases, the additional maturity of SCCS
	wins the day.

	My final conclusion is that, for medium-sized systems, RCS is
	still the easiest way to go.  For large systems, where release
	mechanisms will likely have to be built anyway, SCCS is
	probably better.  For small systems, it is really a toss-up.

	Of course, if you don't have SCCS--which, like everythying
	else from AT&T, is licensed and fairly expensive--the decision
	is an easy one.

[The rest of Eric's article is really a brief tutorial on the use
of each, and doesn't have much to say about which might be better for
a specific purpose.]

	(Eric Allman is a senior programmer at the International
	Computer Science Institute, a research organization in
	Berkeley, California, where he is learning about neural
	networks and new technologies.  He previously worked at
	Britton Lee Inc. and on the INGRES project at the University
	of California at Berkeley.  He is the author of sendmail and
	of the -me macros, among other contributions to BCS UNIX.)

	_UNIX_Review_ (with which I have no connection, except as
	a satisfied reader) is published monthly by Miller Freeman
	Publications Co.  [ISSN-0742-3136]
	
	Their snailing address is:

		UNIX Review
		500 Howard Street
		San Francisco, CA 94105

	Email may be sent to:

		{uunet,mtxinu,basis,attmail}!beast!editor


Another good source on the subject is the article by Walter F. Tichy, the
author of RCS, published in the Proceedings of the IEEE 6th International
Conference on Software Engineering (Tokyo, 1982).  The article seems to
make a good case for the superior efficiency and performance of RCS,
which seems due largely to the fact that most checkouts are of most-
recent versions, which RCS can do quickly since it uses the scheme of
storing the most recent version of files (incorporating embedded
control information), and applies reverse deltas if older versions are
requested.	 [0270-5257/82/0000/0058$00.75 (c) 1982 IEEE]


I post this information hoping to promote some further discussion on the
subject.  I plan to undertake the use of one of the two systems on a
major project within the next month, and would like to hear stories and
opinions by users of one or both.

-- 
	Gary Trujillo
	(harvard!wjh12!gst)



More information about the Comp.unix.questions mailing list