[TUHS] SCCS, TeamWare, BitKeeper, and Git

Larry McVoy lm at mcvoy.com
Mon Dec 16 00:31:00 AEST 2024


On Sun, Dec 15, 2024 at 03:34:47AM -0600, G. Branden Robinson wrote:
> > > > 2.  "TeamWare and BitKeeper took advantage of the interleaved
> > > >     delta algorithm, also known as a weave, to implement an
> > > >     efficient way to represent merged deltas by reference, instead
> > > >     of reproducing code inside the repository. This is a lot more
> > > >     complicated to do with reverse deltas, introduced by RCS.*"
> > > >
> > > >     I'd a like a second footnote directing me to where I can
> > > >     understand the mathematics supporting this claim.  Just out of
> > > >     nerd interest.
> > >
> > > See if this helps:
> > >
> > > https://www.tuhs.org/pipermail/tuhs/2024-December/031188.html
> 
> I saw that, and it sheds some light, but it doesn't rise to the level of
> a theorem.

Try rereading it a few times.  And work through the various versions of
the history file I wrote out.  Everything you need to understand is right
there.  I get that it isn't easy, but it isn't that hard either.

> If I were a mathematician, I might know what analytical discipline to
> bring to bear on my question to you, but the best I can do is to mumble
> about how it looks like you need both graph theory and set theory for
> this.  

You need to be able to visualize a graph, yes.  And Rick would agree you
need some education to _really_ understand everything.  I'd argue you need
very little to get the basics.

Remember, the claim is that an automerge is a set thing only, no changes
to the weave.  I demonstrated that.

> A good mathematical expositor could, I add, employ these tools without
> leaning too hard on the formalisms, and produce a writeup that is
> broadly accessible.
> 
> We used to have USENIX for this sort of thing...

Indeed.  And if USENIX were still a thing, I might write that paper.  I'm
not particularly motivated.  I participated in a 3 day SCM something a
while back, put on by google and facebook.  I spent 3 days listening to
their problems, and on most of them, I said "yeah, we solved that, here
is what we did".  And then watched while they ignored everything.

So I'm not hopeful that people will get it.  If I were younger, I might
write the paper anyway but I'm not.  I tried, BK is open source, you can
go read the code (I know of one guy who did and came back claiming it was
the most pleasant C source base he had ever seen, but that's it.  Noone
else has said boo).

> I've noted your enthusiasm for the weave and BK's amplification of the
> concept.  What I think you need is, as noted, a mathematical expositor
> who can express the novelty of Rochkind's and your contributions in
> terms that professionals who have little contact with the problems of
> "source code configuration management" (an alternative nomenclature for
> "version control" I've encountered) can comprehend.  You've tried
> popularizing to the masses.  My conclusion is that, at best, they stare
> slackly at you and say, "Git does that.  I use Git.".  To get your
> innovation more broadly recognized, you may therefore have to take your
> case to the ivory tower.

You're almost there.  What they say is "I use Github".  Github has
dumbed down DVCS to the point they aren't much different than CVS.
When I realized that years ago, I retired.  My belief is BK is sort of
like betamax, it's better but VHS won.  It is what it is.


More information about the TUHS mailing list