diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-03-09 13:38:23 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-03-09 13:38:23 -0800 |
commit | 82386b44963f127d6dbe25d48889bde3149e177c (patch) | |
tree | 56659c554f71478bd7ab0635fc23438faa760f91 /t/t1090-sparse-checkout-scope.sh | |
parent | The ninth batch (diff) | |
parent | repo_read_index: add config to expect files outside sparse patterns (diff) | |
download | tgif-82386b44963f127d6dbe25d48889bde3149e177c.tar.xz |
Merge branch 'en/present-despite-skipped'
In sparse-checkouts, files mis-marked as missing from the working tree
could lead to later problems. Such files were hard to discover, and
harder to correct. Automatically detecting and correcting the marking
of such files has been added to avoid these problems.
* en/present-despite-skipped:
repo_read_index: add config to expect files outside sparse patterns
Accelerate clear_skip_worktree_from_present_files() by caching
Update documentation related to sparsity and the skip-worktree bit
repo_read_index: clear SKIP_WORKTREE bit from files present in worktree
unpack-trees: fix accidental loss of user changes
t1011: add testcase demonstrating accidental loss of user modifications
Diffstat (limited to 't/t1090-sparse-checkout-scope.sh')
-rwxr-xr-x | t/t1090-sparse-checkout-scope.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/t/t1090-sparse-checkout-scope.sh b/t/t1090-sparse-checkout-scope.sh index 3deb490187..d1833c0f31 100755 --- a/t/t1090-sparse-checkout-scope.sh +++ b/t/t1090-sparse-checkout-scope.sh @@ -52,6 +52,25 @@ test_expect_success 'return to full checkout of main' ' test "$(cat b)" = "modified" ' +test_expect_success 'skip-worktree on files outside sparse patterns' ' + git sparse-checkout disable && + git sparse-checkout set --no-cone "a*" && + git checkout-index --all --ignore-skip-worktree-bits && + + git ls-files -t >output && + ! grep ^S output >actual && + test_must_be_empty actual && + + test_config sparse.expectFilesOutsideOfPatterns true && + cat <<-\EOF >expect && + S b + S c + EOF + git ls-files -t >output && + grep ^S output >actual && + test_cmp expect actual +' + test_expect_success 'in partial clone, sparse checkout only fetches needed blobs' ' test_create_repo server && git clone "file://$(pwd)/server" client && |