Subject: Re: [PATCH v3 02/15] xdiff: introduce rust

From: Phillip Wood <[email-masked]>
Date: Fri, 5 Sep 2025 11:31:30 +0100

Hi Elijah

On 05/09/2025 04:54, Elijah Newren wrote:
> 
> (1) "without advance notice" was already pointed out to be inaccurate
> in this thread, including in the exact email you are responding to;
> you could argue that there hasn't been _sufficient_ advance notice,
> but then there should be more details about what is and isn't
> sufficient.  Merely repeating this claim which brian just barely
> pointed out to you as false almost feels dishonest.

I think there is a difference of understanding of what constitutes 
"advanced notice". While it is true that there have been discussions on 
the list for a couple of years where people were clearly enthusiastic 
about adopting rust those discussions have always petered out after 
concerns about portability were raised without us actually adopting 
rust. In those discussions there has been no clear conclusion about 
whether rust would be mandatory or optional. I think from the point of 
view of an outsider who was following the mailing list it has not been 
clear exactly where the rust discussion was going. For someone not 
following the mailing list but just reading the release notes there has 
been no indication that we're thinking of rust mandatory for building 
git as opposed to offering rust bindings for our C code.

> (2) "pull the rug away" seems hyperbolic.  I would have liked some
> explanation as to how a transition period is expected to help, and how
> the existing transition period has been insufficient.

I'm very unclear what "the existing transition period" has been

 > [...] > (4) you suggest that adding Rust as an optional component 
should avoid
> the problem, yet we've already had Rust as an optional component for
> the last three releases, going back to 2.49.0.  (libgit-rs and
> libgit-sys).

Right but from the point of view of someone trying to build git on a 
platform without rust support there is a world of difference between 
having some optional bindings for rust external projects to use, and 
making rust mandatory to build git.

I would like us to adopt rust but I am concerned about the implications 
for platforms without rust and think we should give some notice in the 
form a clear announcement in the release notes once we have a concrete 
plan. That plan should include a decision on what commitment we can 
realistically offer with regard to security updates for platforms 
without a rust compiler so maintainers on those platforms have a clear 
idea of how long they will be supported.

Thanks

Phillip