<div dir="auto"><div><br><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Fri, Dec 13, 2024, 4:19 PM Larry McVoy <<a href="mailto:lm@mcvoy.com">lm@mcvoy.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, Dec 13, 2024 at 05:57:55PM -0500, Norman Wilson wrote:<br>
> This is verging on COFF material, and I won't mind if someone<br>
> moves the discussion thither:<br>
> <br>
> Clem Cole:<br>
> <br>
>   As a satisfied user of SCCS (and later Bitkeeper), it's still my preferred<br>
>   choice.<br>
> <br>
> ====<br>
> <br>
> I have to admit SCCS is one of the many pieces of software<br>
> I tried for a week or two > 40 years ago and abandoned because<br>
> I couldn't stand it.  I don't think I ever tried RCS, because<br>
> I could see it didn't what I saw as the underlying problems.<br>
> CVS likewise.  Subversion was the earliest version-control<br>
> system that felt usable to me.<br>
> <br>
> What bugged me so much?  The earlier systems were focussed<br>
> entirely (or for CVS, almost entirely) on individual files.<br>
> There was no way to link changes that affected more than one<br>
> file:<br>
<br>
That was the problem that BitKeeper solved.  There was an extra step,<br>
bk commit, that glued all the files together in an atomic commit.<br>
That and each commit was like a CVS tag, you can roll the history back<br>
to any commit, no tags are needed.  That's because while you think of a<br>
revision as 1.5 or whatever, and BitKeeper had that interface, the real<br>
name is a a provably unique key made up of<br>
<br>
    user@host|path/to/file.c|time_t|sccs_cksum<br>
<br>
We called those "keys" and you could use a key any place you could use<br>
a revision.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">That's a nice feature... Too bad we don't have it for the historic SCCS trees.</div><div dir="auto"><br></div><div dir="auto">Also, the historical SCCS trees lack metatdata about file renames (which were done by moving the ,s files)... </div><div dir="auto"><br></div><div dir="auto">Warner</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'll spare you how we made them unique, but I can tell you that in two<br>
decades of BK use on every continent other than the artic, we've never<br>
had a key collision.  Does require that you use DNS.<br>
<br>
BTW, the CVS/SCCS/RCS importers guessed at commit boundaries and made<br>
those systems yield commits.  We looked at author, check in comments,<br>
and time stamps, same author, same comments and within a short window,<br>
that's the same commit.<br>
<br>
--lm<br>
</blockquote></div></div></div>