Path: utzoo!utgpu!water!watmath!clyde!att!pacbell!ames!mailrus!husc6!cca!g-rh From: g-rh@cca.CCA.COM (Richard Harter) Newsgroups: comp.unix.questions Subject: Re: RCS and SCCS Message-ID: <29975@cca.CCA.COM> Date: 27 Jun 88 00:18:54 GMT References: <890@fig.bbn.com> <710@ubu.warwick.UUCP> <661@pyuxe.UUCP> <8158@brl-smoke.ARPA> <3255@rpp386.UUCP> Reply-To: g-rh@CCA.CCA.COM.UUCP (Richard Harter) Organization: Computer Corp. of America, Cambridge, MA Lines: 45 In article <3255@rpp386.UUCP> jfh@rpp386.UUCP (The Beach Bum) writes: >In article <8158@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn (VLD/VMB)) writes: >>In article <661@pyuxe.UUCP> mayerar@pyuxe.UUCP (80132-A Mayer) writes: >>>One good point of RCS is that it stores the most recent version and >>>uses deltas to get back to the previous versions. SCCS stores the >>>original version and uses deltas to get to the most recent version. >>No, it doesn't. I don't know who started this myth, but it's false. >>SCCS makes one sequential pass to do a "get". It is my understanding that the original implementation of SCCS was in the form of the original version plus subsequent deltas and that it was changed to the present form (interleaved deltas) circa 1980. If anyone has precise knowledge on this point, could they please post it or send me e-mail. >just because get(1) only makes one pass over a file does not mean >the SCCS file is stored in most-recent-version order. since it is >possible to know which versions the desired version depends on, >get(1) can follow the insert/delete commands in the s-file to create ... specific example deleted ... The answer is, of course, that SCCS uses neither most-recent-version order nor oldest-version-order. It does not apply deltas in the sense of starting with a base version and applying a sequence of updates which produce a sequence of intermediate versions. It does apply deltas in the sense of checking, for each line ever present, the effect of the deltas on the line. The difference in performance between the two senses is enormous; the difference is due to the fact that, in schemes based on the first sense, each line must be processed once for each delta, whereas in the second sense each line is only processed once. It is true, however, that there is, in principle, a signifigant performance advantage for the RCS scheme versus the SCCS scheme. SCCS must process all lines including those not currently active; RCS need only process those that are currently active. Furthermore RCS does not need to do any processing on the line other than copying it out; SCCS has to check the control data for the line. On the other hand, RCS pays a penalty if the version being extracted is not the latest. -- In the fields of Hell where the grass grows high Are the graves of dreams allowed to die. Richard Harter, SMDS Inc.