Subject: Re: [PATCH v12 13/13] fsmonitor: fix split-index bitmap bounds in tweak_fsmonitor()

From: Paul Tarjan <[email-masked]>
Date: Sun, 5 Apr 2026 11:25:42 -0600

Johannes Schindelin <[email-masked]> writes:

> So the safest approach I can think of really is what I suggested,
> to force the `GIT_TEST_SPLIT_INDEX` variable to be unset in
> `t9210-scalar.sh`.

Thanks for the thorough analysis. I've dropped both the
fsmonitor.c workaround and the read-cache.c skipHash fix, and
added sane_unset GIT_TEST_SPLIT_INDEX to the scalar clone tests
that hit this (tests 12, 13, and 22), matching the existing
workaround in test 16.

Verified on Fedora: seen + fsmonitor-linux with
GIT_TEST_SPLIT_INDEX=yes passes all 22 tests.

--- >8 ---

diff --git a/t/t9210-scalar.sh b/t/t9210-scalar.sh
--- a/t/t9210-scalar.sh
+++ b/t/t9210-scalar.sh
@@ -152,6 +152,10 @@ test_expect_success 'set up repository to clone' '
 '

 test_expect_success 'scalar clone' '
+	# index.skipHash (Scalar default) and GIT_TEST_SPLIT_INDEX are
+	# incompatible: the shared index gets a null OID and fails to
+	# load on re-read.
+	sane_unset GIT_TEST_SPLIT_INDEX &&
 	second=$(git rev-parse --verify second:second.t) &&
 	scalar clone "file://$(pwd)" cloned --single-branch &&
 	(
@@ -182,6 +186,7 @@ test_expect_success 'scalar clone' '
 '

 test_expect_success 'scalar clone --no-... opts' '
+	sane_unset GIT_TEST_SPLIT_INDEX &&
 	# Note: redirect stderr always to avoid having a verbose test
 	# run result in a difference in the --[no-]progress option.
 	GIT_TRACE2_EVENT="$(pwd)/no-opt-trace" scalar clone \
@@ -307,6 +312,7 @@ test_expect_success '`scalar [...] <dir>` errors out when dir is missing' '

 SQ="'"
 test_expect_success UNZIP 'scalar diagnose' '
+	sane_unset GIT_TEST_SPLIT_INDEX &&
 	scalar clone "file://$(pwd)" cloned --single-branch &&
 	git repack &&

Paul