diff options
author | Victoria Dye <vdye@github.com> | 2022-03-01 23:24:28 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-03-01 23:36:01 +0300 |
commit | 2c66a7c8cefa27ef56efbc76bdfe13696b9dac3a (patch) | |
tree | 98b7b1ab12650fda87d8ca3ea89843a45fd516cb /t/t1092-sparse-checkout-compatibility.sh | |
parent | 14bf38cfcff0b68468444e85bc09c7d5007be34b (diff) |
read-tree: integrate with sparse index
Enable use of sparse index in 'git read-tree'. The integration in this patch
is limited only to usage of 'read-tree' that does not need additional
functional changes for the sparse index to behave as expected (i.e., produce
the same user-facing results as a non-sparse index sparse-checkout). To
ensure no unexpected behavior occurs, the index is explicitly expanded when:
* '--no-sparse-checkout' is specified (because it disables sparse-checkout)
* '--prefix' is specified (if the prefix is inside a sparse directory, the
prefixed tree cannot be properly traversed)
* two or more <tree-ish> arguments are specified ('twoway_merge' and
'threeway_merge' do not yet support merging sparse directories)
Signed-off-by: Victoria Dye <vdye@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t1092-sparse-checkout-compatibility.sh')
-rwxr-xr-x | t/t1092-sparse-checkout-compatibility.sh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/t/t1092-sparse-checkout-compatibility.sh b/t/t1092-sparse-checkout-compatibility.sh index 9bb5aeb979..86241b01a5 100755 --- a/t/t1092-sparse-checkout-compatibility.sh +++ b/t/t1092-sparse-checkout-compatibility.sh @@ -1409,6 +1409,17 @@ test_expect_success 'sparse index is not expanded: fetch/pull' ' ensure_not_expanded pull full base ' +test_expect_success 'sparse index is not expanded: read-tree' ' + init_repos && + + ensure_not_expanded checkout -b test-branch update-folder1 && + for MERGE_TREES in "update-folder2" + do + ensure_not_expanded read-tree -mu $MERGE_TREES && + ensure_not_expanded reset --hard || return 1 + done +' + test_expect_success 'ls-files' ' init_repos && |