From: Kristoffer Haugsbakk Date: Wed, 10 Sep 2025 21:42:05 GMT Subject: Re: [PATCH RFC v4 7/9] BreakingChanges: announce Rust becoming mandatory Message-ID: <53a9efd2-52d7-4520-81eb-2129ccfd26d4@app.fastmail.com> In-Reply-To: <20250910-b4-pks-rust-breaking-change-v4-7-4a63fc69278d@pks.im> On Wed, Sep 10, 2025, at 17:35, Patrick Steinhardt wrote: > Over the last couple of years the appetite for bringin Rust into the s/bringin/bringing/ https://lore.kernel.org/git/CAPig+cThyuo7=A2f7_XkE_TZmSRc5i=EFgZOw_pKgu+Ckgx70w@mail.gmail.com/ >[snip] > --- > Documentation/BreakingChanges.adoc | 36 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) > > diff --git a/Documentation/BreakingChanges.adoc > b/Documentation/BreakingChanges.adoc > index f8d2eba061..3550e9fc27 100644 > --- a/Documentation/BreakingChanges.adoc > +++ b/Documentation/BreakingChanges.adoc > @@ -165,6 +165,42 @@ A prerequisite for this change is that the > ecosystem is ready to support the > "reftable" format. Most importantly, alternative implementations of > Git like > JGit, libgit2 and Gitoxide need to support it. > > +* Git will require Rust as a mandatory part of the build process. > While Git > + already started to adopt Rust in Git 2.52, all parts written in Rust > are > + optional for the time being. This includes: > ++ > + ** Subsystems that have an alternative implementation in Rust to test > + interoperability between our C and Rust codebase. > + ** Newly written features that are not mission critical for a fully > functional > + Git client. > ++ > +These changes are meant as test balloons to allow distributors of Git > to prepare > +for Rust becoming a mandatory part of the build process. There will be > multiple > +milestones for the introduction of Rust: > ++ > +1. Initially, with Git 2.52, support for Rust will be auto-detected by > Meson and > + disabled in our Makefile so that the project can sort out the > initial > + infrastructure. > +2. In Git 2.53, both build systems will default-enable support for > Rust. > + Consequently, builds will break by default if Rust is not available > on the > + build host. The use of Rust can still be explicitly disabled via > build > + flags. > +3. In Git 3.0, the build options will be removed and support for Rust > is > + mandatory. > ++ Some minutiae: the HTML output is like 3. In Git 3.0, ... You can explicitly ... But it seems from the text that the paragraph after (3) should go back to the previous level: 3. In ... You ... You’ll need to put these three list items in an `--` in order to get the latter. Or that’s one option (that I tried). > +You can explicitly ask both Meson and our Makefile-based system to > enable Rust > +by saying `meson configure -Drust=enabled` and `make > WITH_RUST=YesPlease`, > +respectively. >[snip]