]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ds/sparse-checkout-expansion-advice'
authorJunio C Hamano <gitster@pobox.com>
Wed, 2 Oct 2024 14:46:24 +0000 (07:46 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Oct 2024 14:46:25 +0000 (07:46 -0700)
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'

1  2 
builtin/sparse-checkout.c
sparse-index.c
t/t1092-sparse-checkout-compatibility.sh

Simple merge
diff --cc sparse-index.c
Simple merge
index eb32da2a7f2ad6f14822278523849a8c67aa8476,e3834b84013dd0037660cd4de654ac658b26470f..6e230b5487606155571ac0a57629a78715c0adbb
@@@ -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 &&
 +      ensure_not_expanded cat-file --batch <in &&
 +
 +      echo ":folder1/a" >in &&
 +      test_all_match git cat-file --batch <in &&
 +      ensure_expanded cat-file --batch <in &&
 +
 +      cat >in <<-\EOF &&
 +      :deep/a
 +      :folder1/a
 +      EOF
 +      test_all_match git cat-file --batch <in &&
 +      ensure_expanded cat-file --batch <in
 +'
 +
  test_done