Thread (204 messages) flat view 204 messages, 5 authors, 2021-07-14

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!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help