From: Junio C Hamano Date: Wed, 2 Oct 2024 14:46:24 +0000 (-0700) Subject: Merge branch 'ds/sparse-checkout-expansion-advice' X-Git-Tag: v2.47.0-rc1~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9293a931868f21029baf55935f2f092c3f06415f;p=thirdparty%2Fgit.git Merge branch 'ds/sparse-checkout-expansion-advice' When "git sparse-checkout disable" turns a sparse checkout into a regular checkout, the index is fully expanded. This totally expected behaviour however had an "oops, we are expanding the index" advice message, which has been corrected. * ds/sparse-checkout-expansion-advice: sparse-checkout: disable advice in 'disable' --- 9293a931868f21029baf55935f2f092c3f06415f diff --cc t/t1092-sparse-checkout-compatibility.sh index eb32da2a7f,e3834b8401..6e230b5487 --- a/t/t1092-sparse-checkout-compatibility.sh +++ b/t/t1092-sparse-checkout-compatibility.sh @@@ -2355,43 -2342,10 +2355,46 @@@ test_expect_success 'advice.sparseIndex mkdir -p sparse-index/deep/deeper2/deepest && touch sparse-index/deep/deeper2/deepest/bogus && git -C sparse-index status 2>err && - grep "The sparse index is expanding to a full index" err + grep "The sparse index is expanding to a full index" err && + + git -C sparse-index sparse-checkout disable 2>err && + test_line_count = 0 err ' +test_expect_success 'cat-file -p' ' + init_repos && + echo "new content" >>full-checkout/deep/a && + echo "new content" >>sparse-checkout/deep/a && + echo "new content" >>sparse-index/deep/a && + run_on_all git add deep/a && + + test_all_match git cat-file -p :deep/a && + ensure_not_expanded cat-file -p :deep/a && + test_all_match git cat-file -p :folder1/a && + ensure_expanded cat-file -p :folder1/a +' + +test_expect_success 'cat-file --batch' ' + init_repos && + echo "new content" >>full-checkout/deep/a && + echo "new content" >>sparse-checkout/deep/a && + echo "new content" >>sparse-index/deep/a && + run_on_all git add deep/a && + + echo ":deep/a" >in && + test_all_match git cat-file --batch in && + test_all_match git cat-file --batch in <<-\EOF && + :deep/a + :folder1/a + EOF + test_all_match git cat-file --batch