Re: Git haas gone wild (Rust), freebsd-update

From: Norman Gray <gray_at_nxg.name>
Date: Wed, 10 Sep 2025 11:31:23 UTC
Poul-Henning, hello.

On 9 Sep 2025, at 20:01, Poul-Henning Kamp wrote:

> Josef 'Jeff' Sipek writes:
>
>>> Or switch to Mercurial, https://www.mercurial-scm.org/ and declare git
>>> as obsolete
>>
>> I think that's an excellent idea, for both technical and social reasons!
>
> I seem to remember that we had a huge VCS shootout back in previous times
> and that hg basically lost because they had no way to truly "obliterate"
> a commit, if for instance laywers waved a credible cease&desist letter.

I don't remember that issue, specifically, but I'd think that all DVCSs which generate revision/commit IDs based on history would have puzzles here.

I think that Mercurial lost out to Git mostly for network-effect reasons, even though they appeared at almost exactly the same time.  Git was obviously heavily, and _noisily_, used for the Linux kernel, and after a short time it became the DVCS that 'everyone' had heard of.  That, of course, is when the network effects take off.

Myself, I think Git's interface is poor -- you need to know too much about the system before you can do simple things confidently (corroborated by teaching the thing to novices).  Bluntly, I think the wrong one won!  (VHS/Betamax, blah, blah! grumbles into beer...)

I keep meaning to spend time looking at jj [1], which is a DVCS interface which aims to be agnostic with respect to the storage system, but which defaults to Git as its back end.  The goal appears to be completely compatible with Git repos (in the sense that the other people working on a repo don't have to know or care that you're using jj), but pull in good ideas from Mercurial, Sapling and Darcs.

Best wishes,

Norman


[1] https://github.com/jj-vcs/jj

-- 
Norman Gray  :  https://nxg.me.uk