Web lists-archives.com

Re: [PATCH 4/4] ref-filter: use separate cache for contains_tag_algo




On Thu, Mar 9, 2017 at 2:29 PM, Jeff King <peff@xxxxxxxx> wrote:
> [...]
> @@ -1874,6 +1886,8 @@ int filter_refs(struct ref_array *array, struct ref_filter *filter, unsigned int
>                 broken = 1;
>         filter->kind = type & FILTER_REFS_KIND_MASK;
>
> +       init_contains_cache(&ref_cbdata.contains_cache);
> +
>         /*  Simple per-ref filtering */
> [...]
>
> +       clear_contains_cache(&ref_cbdata.contains_cache);
>
>         /*  Filters that need revision walking */
>         if (filter->merge_commit)

Shouldn't both of those be guarded by a "if (filter->with_commit)" test?

That init/clear codepath is rather light, but it seems to me that we
can avoid it entirely if filter->with_commit isn't defined. I've
tested this locally and it still passes all tests.