]> git.ipfire.org Git - thirdparty/git.git/commitdiff
sparse-index: check index conversion happens
authorDerrick Stolee <dstolee@microsoft.com>
Tue, 30 Mar 2021 13:10:58 +0000 (13:10 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 30 Mar 2021 19:57:47 +0000 (12:57 -0700)
Add a test case that uses test_region to ensure that we are truly
expanding a sparse index to a full one, then converting back to sparse
when writing the index. As we integrate more Git commands with the
sparse index, we will convert these commands to check that we do _not_
convert the sparse index to a full index and instead stay sparse the
entire time.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1092-sparse-checkout-compatibility.sh

index cba5f89b1e96e6ed9148ae1f534ac907d8875fc1..47f98321785204cc8bda4723562f1807e081ef70 100755 (executable)
@@ -393,4 +393,22 @@ test_expect_success 'submodule handling' '
        grep "160000 commit $(git -C initial-repo rev-parse HEAD)       modules/sub" cache
 '
 
+test_expect_success 'sparse-index is expanded and converted back' '
+       init_repos &&
+
+       (
+               GIT_TEST_SPARSE_INDEX=1 &&
+               export GIT_TEST_SPARSE_INDEX &&
+               GIT_TRACE2_EVENT="$(pwd)/trace2.txt" GIT_TRACE2_EVENT_NESTING=10 \
+                       git -C sparse-index -c core.fsmonitor="" reset --hard &&
+               test_region index convert_to_sparse trace2.txt &&
+               test_region index ensure_full_index trace2.txt &&
+
+               rm trace2.txt &&
+               GIT_TRACE2_EVENT="$(pwd)/trace2.txt" GIT_TRACE2_EVENT_NESTING=10 \
+                       git -C sparse-index -c core.fsmonitor="" status -uno &&
+               test_region index ensure_full_index trace2.txt
+       )
+'
+
 test_done