This release includes an early version of the sparse index feature. This feature significantly reduces the size of the
.git/index
file when using cone-mode sparse-checkout patterns, making integrated Git commands much faster. These commands have been integrated with the sparse index in this version:
git status
git commit
git checkout
git add
These integrations are considered safe to use in production use. The reason this release is experimental is because the sparse index adds some overhead to commands that have not been integrated with the feature. Thus, commands such as git diff
, git merge
, and git rebase
have additional cost to translate from the sparse index into a full one before performing operations on the index. We plan to integrate these commands (among others) in a future release.
This release enables the sparse index by default. New clones will automatically start with a sparse index. Existing repositories will update to a sparse index only after you run a command that updates the index, such as git add -A
or git sparse-checkout init --cone --sparse-index
.
Troubleshooting
If you see a problem with this feature, then please use these steps:
- Run
scalar diagnose
.
- Attach the resulting
.zip
file in an email togit-client@github.com
.
- Disable the sparse index with
git sparse-checkout init --cone --no-sparse-index
.
If you send such a report to us, then we will examine it with high priority to ensure you are unblocked.
Pull Requests since v2.32.0.vfs.0.3
- #374: [Sparse Index] Integrate with
git status
- #361: [Sparse Index] Integrate with
git commit
andgit checkout
- #364: [Sparse Index] Integrate
git add
with sparse-index
- #388: [Sparse Index] enable
index.sparse
by default