Re: [PATCH v3 07/16] refs: plumb `exclude_patterns` argument throughout
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 13, 2023, 23:42 UTC
- Message-ID
- <xmqqsfav2alu.fsf@gitster.g>
- In-Reply-To
- <c4fe9a1893c15c5aae4d3f305b248d0c3ac55222.1686134440.git.me@ttaylorr.com>
Taylor Blau <me@ttaylorr.com> writes:
Show 10 quoted lines
> diff --git a/ls-refs.c b/ls-refs.c > index f385938b64..6f490b2d9c 100644 > --- a/ls-refs.c > +++ b/ls-refs.c > @@ -193,7 +193,7 @@ int ls_refs(struct repository *r, struct packet_reader *request) > strvec_push(&data.prefixes, ""); > refs_for_each_fullref_in_prefixes(get_main_ref_store(r), > get_git_namespace(), data.prefixes.v, > - send_ref, &data); > + NULL, send_ref, &data);
OK.
Show 12 quoted lines
> diff --git a/ref-filter.c b/ref-filter.c
> index d44418efb7..717c3c4bcf 100644
> --- a/ref-filter.c
> +++ b/ref-filter.c
> @@ -2209,12 +2209,13 @@ static int for_each_fullref_in_pattern(struct ref_filter *filter,
>
> if (!filter->name_patterns[0]) {
> /* no patterns; we have to look at everything */
> - return for_each_fullref_in("", cb, cb_data);
> + return refs_for_each_fullref_in(get_main_ref_store(the_repository),
> + "", NULL, cb, cb_data);
> }Is this merely "while at it", or was there a reason why refs_* variant must be used here? It is curious that we do not teach the exclude_patterns to some functions like for_each_fullref_in() while adding exclude_patterns to others, making the API surface uneven.