tech-repository archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: irt: Re: Core statement on version control systems



On Mon, Sep 22, 2025 at 09:53:31AM +0200, Martin Husemann wrote:
> On Mon, Sep 22, 2025 at 04:31:07AM +0000, David Holland wrote:
> > On Mon, Sep 15, 2025 at 08:07:25PM -0700, Elliott Mitchell wrote:
> > 
> >  > I was going to suggest the only way for Mercurial to have a future was to
> >  > adopt Git's file formats and network protocol.
> > 
> > You can't adopt Git's file format and data model without also adopting
> > its core design defects and inherent problems. Nonstarter.
> 
> Indeed.

So the thing documented here:
https://wiki.mercurial-scm.org/GitExtension

Is a fantasy since such is impossible?  They seem to have taken the hoax
pretty far since an experimental implementation is still visible:
https://foss.heptapod.net/mercurial/mercurial-devel/-/tree/branch/default/hgext/git


I imagine this loses context when pulling from or pushing to a Git
repository.  Mercurial's extra context is likely currently kept locally.
Several potential methods come to mind.  A single line in the commit
message could help.  The extra state could be stashed on a Git branch not
shown by Mercurial's front-end.  Extra state could also be stored in a
".hgstate" file.

I imagine other methods could be used.  The hidden branch could be handy
since other Git peers could readily ignore it.  This would also be
helpful if someone decided to stop using Mercurial.

The bottom line though is it already exists and seems the near-certain
future approach.


> And also "having a future" (whatever that means) is no big point for
> our use cases. As long as it works, it is fine.
> 
> When it stops working (e.g. if we run into server side performance
> issues like apparently mozilla did) and we can not work around by
> faster hardware easily, we can move on to e.g. git (and accept the loss
> of data for branches, or maybe another option to add that info has
> materialized in git by then).

My primary concern is security.  CVS got security updates after its
development branch stalled.  For Mercurial this means NetBSD will need to
track updates.  This also allows for updating Python which has its own
updates.

It appears certain GitExtension will eventually displace Mercurial's
traditional back-end.  Once that happens NetBSD will be unable to avoid
Git as the primary repository format.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg%m5p.com@localhost  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




Home | Main Index | Thread Index | Old Index