Subject: Re: [PATCH RFC v2 0/7] Introduce Rust and announce that it will become mandatorty

From: Phillip Wood <[email-masked]>
Date: Tue, 9 Sep 2025 10:12:39 +0100

Hi Patrick

On 05/09/2025 15:28, Patrick Steinhardt wrote:
> On Fri, Sep 05, 2025 at 03:14:25PM +0100, Phillip Wood wrote:
>>
>> It looks like this version does include the necessary Makefile changes which
>> is great. I do think though, that for the test balloon to be valuable, we
>> need make building with rust the default with an error message that tells
>> people how to build without rust if that fails. Otherwise it is easy for
>> people building on platforms without rust support to miss that we're going
>> to be making it mandatory soon.
> 
> I have a plan layed out in the BreakingChanges document that mentions
> how I'm proposing to do the transition:
> 
>    1. We introduce it with auto-detection for Meson and default-disabled
>       for our Makefile in Git 2.52.

I'm not sure how much this helps us. You've said elsewhere that you 
don't want to be inundated with bug reports which is fair enough, but 
I'm fairly skeptical that we're going to get enough people enabling this 
get a useful amount of early feedback. So I wonder if it would be better 
just to bite the bullet and enable it by default from the start. I think 
I saw Elijah making a similar argument elsewhere in this thread.
> In the end it kind of hinges on when we think we want to release Git
> 3.0. If we can agree on the above plan, we could also think about making
> Git 2.55 become 3.0 instead. That'd be in a bit less than a year from
> now, which I think is a good timeframe for that breaking release. I
> personally don't see a reason to push it out into the future for way
> longer than that, and it would be good anyway if we built some consensus
> around its release date.

It would definitely be good to firm up the date for a Git 3.0 release. 
I've been thinking whether there are any config defaults we might want 
to change like "commit.verbose" and "merge.conflictStyle" and enabling 
"--reapply-cherry-pick --empty=false" by default for "git rebase". 
Having a firm deadline would focus my mind!

Thanks

Phillip

> Patrick