Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/12/84; site desint.UUCP
Path: utzoo!watmath!clyde!cbosgd!cbdkc1!desoto!cord!hudson!bentley!hoxna!houxm!mhuxj!mhuxr!ulysses!allegra!bellcore!decvax!ittvax!dcdwest!sdcsvax!sdcrdcf!hplabs!pesnta!pertec!scgvaxd!trwrb!desint!geoff
From: geoff@desint.UUCP (Geoff Kuenning)
Newsgroups: net.unix
Subject: RCS vs SCCS - a MAJOR misconception
Message-ID: <289@desint.UUCP>
Date: Thu, 3-Jan-85 21:50:38 EST
Article-I.D.: desint.289
Posted: Thu Jan  3 21:50:38 1985
Date-Received: Tue, 8-Jan-85 03:54:14 EST
Reply-To: geoff@desint.UUCP (Geoff Kuenning)
Organization: his home computer, Manhattan Beach, CA
Lines: 44

Recently, somebody on the net conducted a poll of opinions on RCS vs. SCCS.
I just got a copy of the results of that poll, and I was simply *amazed* to
find out that literally every respondent mentioned the same INCORRECT flaw
in SCCS as a reason to use RCS.

To wit:  everybody in the (net) universe seems to believe that RCS keeps
backwards differences, while SCCS keeps forward differences.  Since you are
usually working with the current file, forward differences certainly sound
slow.  Can you imagine starting with 1.1, converting that to 1.2 and that
to 1.3, until you got to the current version of 1.25?

There's only one problem with this:  that's not how SCCS works!  In fact, if
you 'cat -v' an SCCS file, you will see something like the following:

    
^AI 1 ^AI 2 ^AE 2 ^AD 3 ^AE 3 ^AE 1 This indicates that the original file had "text 1" and "text 3"; the first revision added "text 2" and the second deleted "text 3". A moment's thought will show that this structure allows *any* version to be retrieved in a time proportional only to the total number of lines in the file. This structure even handles branches (there is nothing to keep the two revisions from being different branches; this is recorded in the header section). So where's the "forwardness" of this data structure? Unfortunately, I do not know what the RCS data structure. If, as the misconception implies, it keeps the latest version and a set of version-to-version differences, it must be *awfully* slow to pick out a really old version. Or does the misconception apply to both systems? -- Geoff Kuenning ...!ihnp4!trwrb!desint!geoff