Re: [PATCH 2/4] revision walk: optionally use sparse reachability
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Mar 12, 2019, 13:59 UTC
- Message-ID
- <b414cb29-05a2-333e-f734-540eb0d1eaa4@gmail.com>
- In-Reply-To
- <20190312131858.26115-3-nwf20@cl.cam.ac.uk>
On 3/12/2019 9:18 AM, Nathaniel Filardo wrote:
Show 35 quoted lines
> The only caller that passes a non-zero value to prepare_revision_walk > after this patch is builtin/pack-objects. Without this, sparsity seems > to do little good therein, as prepare_revision_walk will densely > propagate UNINTERESTING flags from trees to tree contents, before > mark_edges_uninteresting has a chance to be faster by being sparse. > > Signed-off-by: Nathaniel Filardo <nwf20@cl.cam.ac.uk> > --- > bisect.c | 2 +- > blame.c | 2 +- > builtin/checkout.c | 2 +- > builtin/commit.c | 2 +- > builtin/describe.c | 2 +- > builtin/fast-export.c | 2 +- > builtin/fmt-merge-msg.c | 2 +- > builtin/log.c | 10 +++++----- > builtin/merge.c | 2 +- > builtin/pack-objects.c | 4 ++-- > builtin/rev-list.c | 2 +- > builtin/shortlog.c | 2 +- > bundle.c | 2 +- > http-push.c | 2 +- > merge-recursive.c | 2 +- > pack-bitmap-write.c | 2 +- > pack-bitmap.c | 4 ++-- > reachable.c | 4 ++-- > ref-filter.c | 2 +- > remote.c | 2 +- > revision.c | 10 ++++++---- > revision.h | 2 +- > sequencer.c | 6 +++--- > shallow.c | 2 +- > submodule.c | 4 ++-- > t/helper/test-revision-walking.c | 2 +- > 26 files changed, 41 insertions(+), 39 deletions(-)
This patch is very noisy. Perhaps the pattern established in 4f6d26b1: "list-objects: consume sparse tree walk" should be reversed and instead include a 'sparse_tree_walk' setting into 'struct rev_info'.
Changing so many method prototypes is rather invasive and unlikely to benefit many of these callers.
If the setting is added to 'struct rev_info', then you'll want to remove the parameter from mark_edges_uninteresting().
Thanks, -Stolee