]> git.ipfire.org Git - thirdparty/git.git/commit
repository: require Rust support for interoperability
authorbrian m. carlson <sandals@crustytoothpaste.net>
Mon, 17 Nov 2025 22:16:07 +0000 (22:16 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 17 Nov 2025 22:24:13 +0000 (14:24 -0800)
commit3a1fd7b09cd927774d1d72830cd49cc1432ef1e8
treec39b04a3742a10244b86cc4aeb11c32a5946daa7
parent57da342c786f59eaeb436c18635cc1c7597733d9
repository: require Rust support for interoperability

We'll be implementing some of our interoperability code, like the loose
object map, in Rust.  While the code currently compiles with the old
loose object map format, which is written entirely in C, we'll soon
replace that with the Rust-based implementation.

Require the use of Rust for compatibility mode and die if it is not
supported.  Because the repo argument is not used when Rust is missing,
cast it to void to silence the compiler warning, which we do not care
about.

Add a prerequisite in our tests, RUST, that checks if Rust functionality
is available and use it in the tests that handle interoperability.

This is technically a regression in functionality compared to our
existing state, but pack index v3 is not yet implemented and thus the
functionality is mostly quite broken, which is why we've recently marked
this functionality as experimental.  We don't believe anyone is getting
useful use out of the interoperability code in its current state, so no
actual users should be negatively impacted by this change.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
repository.c
t/t1006-cat-file.sh
t/t1016-compatObjectFormat.sh
t/t1500-rev-parse.sh
t/t9305-fast-import-signatures.sh
t/t9350-fast-export.sh
t/test-lib.sh