Hi, 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. 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. Thanks! Patrick --- Patrick Steinhardt (3): meson: add infrastructure to build internal Rust library rust: implement a test balloon via the "varint" subsystem BreakingChanges: announce Rust becoming mandatory Documentation/BreakingChanges.adoc | 20 +++++++++ meson.build | 21 ++++++++- meson_options.txt | 2 + src/lib.rs | 1 + src/meson.build | 13 ++++++ src/varint.rs | 92 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 147 insertions(+), 2 deletions(-) --- base-commit: 2462961280690837670d997bde64bd4ebf8ae66d change-id: 20250904-b4-pks-rust-breaking-change-7167d9d3e37d