The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Larry McVoy <lm@mcvoy.com>
To: Norman Wilson <norman@oclsc.org>
Cc: tuhs@tuhs.org
Subject: [TUHS] Re: SCCS roach motel
Date: Fri, 13 Dec 2024 15:19:47 -0800	[thread overview]
Message-ID: <20241213231947.GB11590@mcvoy.com> (raw)
In-Reply-To: <242CD757E4871441B72EA52F30CF4531.for-standards-violators@oclsc.org>

On Fri, Dec 13, 2024 at 05:57:55PM -0500, Norman Wilson wrote:
> This is verging on COFF material, and I won't mind if someone
> moves the discussion thither:
> 
> Clem Cole:
> 
>   As a satisfied user of SCCS (and later Bitkeeper), it's still my preferred
>   choice.
> 
> ====
> 
> I have to admit SCCS is one of the many pieces of software
> I tried for a week or two > 40 years ago and abandoned because
> I couldn't stand it.  I don't think I ever tried RCS, because
> I could see it didn't what I saw as the underlying problems.
> CVS likewise.  Subversion was the earliest version-control
> system that felt usable to me.
> 
> What bugged me so much?  The earlier systems were focussed
> entirely (or for CVS, almost entirely) on individual files.
> There was no way to link changes that affected more than one
> file:

That was the problem that BitKeeper solved.  There was an extra step,
bk commit, that glued all the files together in an atomic commit.
That and each commit was like a CVS tag, you can roll the history back
to any commit, no tags are needed.  That's because while you think of a
revision as 1.5 or whatever, and BitKeeper had that interface, the real
name is a a provably unique key made up of

    user@host|path/to/file.c|time_t|sccs_cksum

We called those "keys" and you could use a key any place you could use
a revision.

I'll spare you how we made them unique, but I can tell you that in two
decades of BK use on every continent other than the artic, we've never
had a key collision.  Does require that you use DNS.

BTW, the CVS/SCCS/RCS importers guessed at commit boundaries and made
those systems yield commits.  We looked at author, check in comments,
and time stamps, same author, same comments and within a short window,
that's the same commit.

--lm

  reply	other threads:[~2024-12-13 23:19 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-13 22:57 Norman Wilson
2024-12-13 23:19 ` Larry McVoy [this message]
2024-12-13 23:38   ` Warner Losh
2024-12-14  0:53     ` Larry McVoy
  -- strict thread matches above, loose matches on Subject: below --
2024-12-13 22:33 Norman Wilson
2024-12-17  0:21 ` andrew
2024-12-13 16:52 [TUHS] " Marc Rochkind
     [not found] ` <A6DE3D0A-8ED7-4E82-87CF-F2BC7AE11761@seiden.com>
2024-12-13 17:58   ` [TUHS] " Marc Rochkind
2024-12-13 21:09     ` Dan Cross
2024-12-14  1:11       ` Marc Rochkind
2024-12-14  1:27         ` Dan Cross
2024-12-14  1:39           ` Larry McVoy
2024-12-14  6:20           ` Marc Rochkind
2024-12-14  1:38         ` Larry McVoy
2024-12-13 18:06 ` Larry McVoy
2024-12-13 18:32   ` Marc Rochkind
2024-12-13 18:39     ` Marc Rochkind
2024-12-13 18:49       ` Larry McVoy
2024-12-13 18:55     ` Larry McVoy
2024-12-13 19:55       ` Henry Bent
2024-12-14 18:29         ` arnold
2024-12-14 18:59           ` Larry McVoy
2024-12-13 21:46     ` Clem Cole
2024-12-13 21:22 ` Rob Pike
2024-12-13 21:27   ` Rob Pike
2024-12-13 21:37     ` Aron Insinga
2024-12-13 21:40       ` Aron Insinga
2024-12-14  0:37 ` Luther Johnson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241213231947.GB11590@mcvoy.com \
    --to=lm@mcvoy.com \
    --cc=norman@oclsc.org \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).