Re: [PATCH v9 00/16] Sparse-index: integrate with status
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 14, 2021, 20:37 UTC
- Message-ID
- <xmqqim1cvdh6.fsf@gitster.g>
- In-Reply-To
- <pull.932.v9.git.1626268360.gitgitgadget@gmail.com>
"Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com> writes:
> This is the first "payoff" series in the sparse-index work. It makes 'git > status' very fast when a sparse-index is enabled on a repository with > cone-mode sparse-checkout (and a small populated set).
The first payoff turning out to be a long time coming ;-)
Show 12 quoted lines
> This is based on ds/sparse-index-protections AND mt/add-rm-sparse-checkout. > The latter branch is needed because it changes the behavior of 'git add' > around sparse entries, which changes the expectations of a test added in > patch 1. > > The approach here is to audit the places where ensure_full_index() pops up > while doing normal commands with pathspecs within the sparse-checkout > definition. Each of these are checked and tested. In the end, the > sparse-index is integrated with these features: > > * git status > * FS Monitor index extension.
I said this alreayd but I think the approach makes sense. One related tangent that makes me wonder is if we can teach "ls-files" to help scriptors with a mode that does not pretend we have the full index (i.e. when asked to show sparse index state, "ls-files --sparse" would show the same output as "ls-files --stage" without expanding each tree entry in the index into its flattend list of paths).
Thanks.