|
This amazing paper holds a special place in my heart: my marked up 1992 copy serving me well when working as a graph and weave engineer on BitKeeper. To me, SCCS is both a marvel and a disappointment. A marvel because its graph and weave were so far ahead of its time. A disappointment is because for the most part, time didn't build on the innovations, with TeamWare and BitKeeper among the exceptions. Take the graph: storing history not just as a version graph, but also as a collection of deltas. The 3rd paragraph from end of section II: "The second kind of special delta is one which, when applied, explicitly forces others deltas to be applied or not, by either including or excluding them. A list of deltas to be included or excluded is specified when such a delta is created. The exclusion facility is most often used simply to correct mistakes. For example if, after delta 3.14 is added, it is found to be undesirable, the programmer might add delta 3.15 which excludes it. If the module is accessed at level 3.14, delta 3.14 itself would be applied. If the module is accessed at a level 3.15, though, delta 3.14 would not be applied. From the viewpoint of control, this form of error correction is safer than allowing the programmer to actually delete a delta, since no potentially necessary information is lost." Such advanced thinking from 1975! As for the for the brilliance of the weave, ... [1 - adding to mmastrac's reference of J. Schilling's wonderful SCCS pages] [1]. http://sccs.sourceforge.net/sccs_invention.html |
luckydude mentioned real per-file history for example¹, and that pushed me to remember per-file comments as the thing I'd want back.
Perhaps someone is listening.
¹ https://news.ycombinator.com/item?id=26207037