Re: [PATCH v9 00/16] Sparse-index: integrate with status
From: Elijah Newren <hidden>
Date: 2021-07-14 15:08:40
On Wed, Jul 14, 2021 at 6:12 AM Derrick Stolee via GitGitGadget [off-list ref] wrote:
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). 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. The performance tests in p2000-sparse-operations.sh improve by 95% or more, even when compared with the full-index cases, not just the sparse-index cases that previously had extra overhead. Hopefully this is the first example of how ds/sparse-index-protections has done the basic work to do these conversions safely, making them look easier than they seemed when starting this adventure. Thanks, -Stolee Update in V9 ============ * Fixed typo. * All patches are marked as Reviewed-by Elijah. Thanks for the careful review!
Thanks for all the hard work and pushing this feature forward!