refs: replace `refs_for_each_namespaced_ref()`

Replace calls to `refs_for_each_namespaced_ref()` with the newly
introduced `refs_for_each_ref_ext()` function.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Patrick Steinhardt 2026-02-23 12:59:50 +01:00 committed by Junio C Hamano
parent 3fc1ad03c6
commit 96c35a9ba5
4 changed files with 13 additions and 25 deletions

View File

@ -565,9 +565,13 @@ static void get_info_refs(struct strbuf *hdr, char *arg UNUSED)
run_service(argv, 0);

} else {
struct refs_for_each_ref_options opts = {
.namespace = get_git_namespace(),
};

select_getanyfile(hdr);
refs_for_each_namespaced_ref(get_main_ref_store(the_repository),
NULL, show_text_ref, &buf);
refs_for_each_ref_ext(get_main_ref_store(the_repository),
show_text_ref, &buf, &opts);
send_strbuf(hdr, "text/plain", &buf);
}
strbuf_release(&buf);

11
refs.c
View File

@ -1951,17 +1951,6 @@ int refs_for_each_replace_ref(struct ref_store *refs, refs_for_each_cb cb, void
return refs_for_each_ref_ext(refs, cb, cb_data, &opts);
}

int refs_for_each_namespaced_ref(struct ref_store *refs,
const char **exclude_patterns,
refs_for_each_cb cb, void *cb_data)
{
struct refs_for_each_ref_options opts = {
.exclude_patterns = exclude_patterns,
.namespace = get_git_namespace(),
};
return refs_for_each_ref_ext(refs, cb, cb_data, &opts);
}

static int qsort_strcmp(const void *va, const void *vb)
{
const char *a = *(const char **)va;

8
refs.h
View File

@ -527,14 +527,6 @@ int refs_for_each_ref_in_prefixes(struct ref_store *refs,
const struct refs_for_each_ref_options *opts,
refs_for_each_cb cb, void *cb_data);

/*
* references matching any pattern in "exclude_patterns" are omitted from the
* result set on a best-effort basis.
*/
int refs_for_each_namespaced_ref(struct ref_store *refs,
const char **exclude_patterns,
refs_for_each_cb fn, void *cb_data);

/*
* Normalizes partial refs to their fully qualified form.
* Will prepend <prefix> to the <pattern> if it doesn't start with 'refs/'.

View File

@ -610,7 +610,10 @@ static int allow_hidden_refs(enum allow_uor allow_uor)
static void for_each_namespaced_ref_1(refs_for_each_cb fn,
struct upload_pack_data *data)
{
const char **excludes = NULL;
struct refs_for_each_ref_options opts = {
.namespace = get_git_namespace(),
};

/*
* If `data->allow_uor` allows fetching hidden refs, we need to
* mark all references (including hidden ones), to check in
@ -621,10 +624,10 @@ static void for_each_namespaced_ref_1(refs_for_each_cb fn,
* hidden references.
*/
if (allow_hidden_refs(data->allow_uor))
excludes = hidden_refs_to_excludes(&data->hidden_refs);
opts.exclude_patterns = hidden_refs_to_excludes(&data->hidden_refs);

refs_for_each_namespaced_ref(get_main_ref_store(the_repository),
excludes, fn, data);
refs_for_each_ref_ext(get_main_ref_store(the_repository),
fn, data, &opts);
}