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

From: Josef 'Jeff' Sipek <jeffpc_at_josefsipek.net>
Date: Tue, 09 Sep 2025 11:57:06 UTC
On Tue, Sep 09, 2025 at 13:13:46 +0300, Vadim Goncharov wrote:
> On Tue, 09 Sep 2025 09:39:20 +0100
> Norman Gray <gray@nxg.name> wrote:
> 
> > Mark, hello.
> > 
> > On 9 Sep 2025, at 9:18, Mark Liam Brown wrote:
> > 
> > > 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!
> > 
> > (It's worth noting, though, that the Mercurial developers have, for the 
> > past couple of years, been incrementally and _very_ carefully replacing 
> > performance-critical Python components with Rust equivalents 
> > <https://www.mercurial-scm.org/help/topics/rust>.  The words 
> > ‘incremental’ and ‘careful’ are pretty much hallmarks of 
> > Mercurial's development history.)
> 
> So again, no actual alternative

Part of the 'carefully' is that the rust is *not* required and you can build
without it.  The parts that are in rust all have fall-back code written in
python and often have an equivalent in C as well.

Put another way, for many years now, hg has been python + optional C
perf-improving code.  They are adding python + optional rust.  (So, at the
moment you can build in 3 different ways: pure, with C, with rust.)  I don't
know what the long-term plan of the C code, but it'll no doubt consider the
userbase's needs.

The hg devs understand (and this is my paraphrasing/observation) that they
are good at writing python and not so good at writing C.  To oversimplify
things, they don't trust themselves to maintain C code of sufficient quality
for an scm.  I think this realization is a good thing, and I applaud them
for it.

That said, switching scms is a *lot* of work, so this discussion is (IMO)
moot.

Jeff.