geoff@desint.UUCP (Geoff Kuenning) (01/04/85)
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: <header section, each line starts with ^A> ^AI 1 <text 1> ^AI 2 <text 2> ^AE 2 ^AD 3 <text 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
ed@mtxinu.UUCP (Ed Gould) (01/07/85)
> To wit: everybody in the (net) universe seems to believe that RCS keeps > backwards differences, while SCCS keeps forward differences. I believe that this all started because (if I remember correctly) there's a statement in the RCS documentation that it uses backwards diffs for speed. The inference I drew from this statement was that SCCS used forwards diffs, although I knew that it wasn't true. Perhaps the RCS folks were "puffing" a bit when promoting their program? -- Ed Gould mt Xinu, 739 Allston Way, Berkeley, CA 94710 USA {ucbvax,decvax}!mtxinu!ed +1 415 644 0146 (I'd rather not be parochial.)