Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Sep 2025 22:10:35 +0300
From:      Vadim Goncharov <vadimnuclight@gmail.com>
To:        Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Git haas gone wild (Rust), freebsd-update
Message-ID:  <20250913221035.585d8a4b@nuclight.lan>
In-Reply-To: <aMVQww-s8SrIcIhM@satis>
References:  <00202803-6a1a-44ca-b110-9f1404d2c9bc@FreeBSD.org> <CAN0SSYwGC1G8s5Ygb6rKqX2yPSoCCeJAyFk0gscBW0b94BwWRA@mail.gmail.com> <39D21672-603B-42A6-8820-F274FCC1191D@nxg.name> <20250909131346.1e1011ea@nuclight.lan> <aMAWErNE7apNtZGo@satis> <202509091901.589J1RGX017686@critter.freebsd.dk> <aMF_5I8gm4KDXG9V@satis> <202509130746.58D7kNHN004849@critter.freebsd.dk> <aMVQww-s8SrIcIhM@satis>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sat, 13 Sep 2025 07:08:51 -0400
Josef 'Jeff' Sipek <jeffpc@josefsipek.net> wrote:

> > > > 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.  
> > >
> > > Taking a quick look, it looks like the revlog format hg uses has the
> > > correct bits to allow for censoring of parts of history.  So, it should
> > > work with minimal fuss.  (I've never used this feature, so maybe there
> > > is more to it.)    
> > 
> > I'm not totally up on the details, but I as I recall, the position of the
> > "VCS-selection-team" was that leaving the legally challenged stuff in the
> > repos, even if administratively maked out of bounds were not good enough.  
> 
> That makes sense.  The way hg implemented censoring (at least based on a
> quick read of some docs & code) is that the "bad" content is overwritten and
> a flag is added to the revlog to avoid checksum errors later on.  I'd have
> to experiment with it to see how censoring works in practice.
> 
> hg also has the concept called changeset evolution where it can keep track of
> old commit hash->new commit hash mapping as commits get rewritten.  This
> then informs the rest of hg about how to handle certain conflicts.  The
> intended usecase for this is multiple devs sharing a repo to iterate on some
> code without the super annoying conflicts that such sharing entails (anyone
> who's tried this with git knows how terrible the experience is without extra
> tooling/vcs that helps in any way).

What do you mean here? What a scenario could be to use same repo?

-- 
WBR, @nuclight



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20250913221035.585d8a4b>