Message ID | pull.932.v2.git.1619213665.gitgitgadget@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Sparse-index: integrate with status | expand |
On Fri, Apr 23, 2021 at 2:34 PM Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com> 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 > > > Updates in V2 > ============= > > * Based on the feedback, it is clear that 'git add' will require much more > careful testing and thought. I'm splitting it out of this series and it > will return with a follow-up. > * Test cases are improved, both in coverage and organization. > * The previous "unpack-trees: make sparse aware" patch is split into three > now. > * Stale messages based on an old implementation of the "protections" topic > are now fixed. > * Performance tests were re-run. I read through the topic, both my old comments, the range-diff, and the new patches where the range-diff wasn't enough. I tried to spot issues, and was hoping to find problems you alluded to in your recent comments at https://lore.kernel.org/git/05932ebc-04ac-b3c5-a460-5d37d8604fd9@gmail.com/, but I failed to spot them. I hope it has to do with the cache bottom stuff that I just don't understand, because otherwise I just missed the problems in my review. I can say that in v2 you fixed the issues I did spot in my review of v1. I'll look forward to v3 to see what it was I missed. If I somehow don't respond soon (in a week at the latest), do feel free to ping me; sorry for somehow having this one slip through the cracks.
On 5/13/2021 12:12 AM, Elijah Newren wrote: > On Fri, Apr 23, 2021 at 2:34 PM Derrick Stolee via GitGitGadget > <gitgitgadget@gmail.com> 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). > > I read through the topic, both my old comments, the range-diff, and > the new patches where the range-diff wasn't enough. I tried to spot > issues, and was hoping to find problems you alluded to in your recent > comments at https://lore.kernel.org/git/05932ebc-04ac-b3c5-a460-5d37d8604fd9@gmail.com/, > but I failed to spot them. I hope it has to do with the cache bottom > stuff that I just don't understand, because otherwise I just missed > the problems in my review. I can say that in v2 you fixed the issues > I did spot in my review of v1. > > I'll look forward to v3 to see what it was I missed. If I somehow > don't respond soon (in a week at the latest), do feel free to ping me; > sorry for somehow having this one slip through the cracks. v3 is on the way. The changes related to issues I found in my deeper testing are more about what wasn't previously tested in my test script as opposed to things actually being wrong in the patch series. (There is one case where some new code was incorrect, but it wasn't being tested because of the test repo's data shape.) Thanks, -Stolee