This series extends our integration of sparse-index to 'git commit' and 'git checkout'. This is based on ds/status-with-sparse-index (v7) and v2.32.0. The hard work was already done in that topic, so these changes are simple. Recall that we have delayed our integration with 'git add' until we can work out the concerns about how to deal with pathspecs outside of the sparse-checkout definition. Those concerns might have some overlap with how 'git commit' takes a pathspec, but this seems like a rare enough case to handle here and we can be more careful with the behavior change in the next series which will integrate with git add. In addition to the tests that already exist in t1092, I have integrated these changes in microsoft/git and tested them against the Scalar functional tests, which go through quite a few complicated scenarios, verifying that things work the same across the full index and sparse-index cases. Thanks, -Stolee Derrick Stolee (5): p2000: add 'git checkout -' test and decrease depth p2000: compress repo names commit: integrate with sparse-index sparse-index: recompute cache-tree checkout: stop expanding sparse indexes builtin/checkout.c | 8 ++-- builtin/commit.c | 3 ++ cache-tree.c | 2 - sparse-index.c | 2 + t/perf/p2000-sparse-operations.sh | 47 ++++++++++++-------- t/t1092-sparse-checkout-compatibility.sh | 55 ++++++++++++++++++++++-- 6 files changed, 89 insertions(+), 28 deletions(-) base-commit: 1d744848ee6b58ccaf3a30f20abe9797ed5d2ce7 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-973%2Fderrickstolee%2Fsparse-index%2Fcommit-and-checkout-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-973/derrickstolee/sparse-index/commit-and-checkout-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/973 -- gitgitgadget