Subject: Re: [PATCH v8 0/9] Introduce Rust and announce that it will become mandatory

From: Junio C Hamano <[email-masked]>
Date: Thu, 02 Oct 2025 09:38:19 -0700

Patrick Steinhardt <[email-masked]> writes:

> this small patch series introduces Rust into the core of Git. This patch
> series is designed as a test balloon, similar to how we introduced test
> balloons for C99 features in the past. The goal is threefold:
>
>   - Give us some time to experiment with Rust and introduce proper build
>     infrastructure.
>
>   - Give distributors time to ease into the new toolchain requirements.
>     Introducing Rust is impossible for some platforms and hard for
>     others.
>
>   - Announce that Git 3.0 will make Rust a mandatory part of our build
>     infrastructure.
>
> The test balloon itself is quite uninteresting: I've chosen to convert
> the "varint.c" subsystem, mostly because it is trivial and does not have
> any dependencies. But it does allow us to verify that C to Rust interop
> works as expected, and to play around with tooling. All tests pass with
> the "varint.rs" implementation.
>
> For now, the series only contains support for Meson. If we agree to go
> down this route I'll also introduce support for Rust into our Makefiles
> at a later point in time.

Keeping the initial part of the cover letter verbatim is a bit
confusing for those who have forgotten what they read in previous
iterations ;-) I think a more recent iterations did have Makefile
support, and this (hopefully final) one, too.

> Furthermore missing is additional tooling:
>
>   - At least one CI job to verify that Rust builds and works as
>     expected.
>
>   - Tooling and CI jobs to ensure that we have consistent formatting via
>     `cargo format`.
>
> And probably lots more. As said, the entire goal is for us to have an
> easy playground that we can experiment on and develop the infrastructure
> incrementally without yet having to commit to anything.
>
> I'm mostly splitting out the topic of introducing Rust from the larger
> series that introduce it into xdiff so that we can focus more on the
> actual process of introducing Rust into Git and less on the potential
> features that we want to build on top of it.

OK.

> Changes in v2:
> ...
> Changes in v3:
> ...
> Changes in v4:
> ...
> Changes in v5:
> ...
> Changes in v6:
> ...
> Changes in v7:
> ...
> Changes in v8:
>   - Some final typo fixes.
>   - Link to v7: https://lore.kernel.org/r/[email-masked]

Indeed.  I have a slight preference to see these "deltas" in reverse
order but it may be just me.  I can read backwards, especially if
each item is small ;-)

Thanks.