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