From: Patrick Steinhardt Date: Mon, 23 Feb 2026 11:59:49 +0000 (+0100) Subject: refs: replace `refs_for_each_glob_ref()` X-Git-Tag: v2.54.0-rc0~105^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3fc1ad03c6243b44c2dcab480acaced44921b1c5;p=thirdparty%2Fgit.git refs: replace `refs_for_each_glob_ref()` Replace calls to `refs_for_each_glob_ref()` with the newly introduced `refs_for_each_ref_ext()` function. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- diff --git a/builtin/fetch.c b/builtin/fetch.c index a3bc7e9380..a3323fbfd7 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -1542,6 +1542,9 @@ static void add_negotiation_tips(struct git_transport_options *smart_options) for (i = 0; i < negotiation_tip.nr; i++) { const char *s = negotiation_tip.items[i].string; + struct refs_for_each_ref_options opts = { + .pattern = s, + }; int old_nr; if (!has_glob_specials(s)) { struct object_id oid; @@ -1553,8 +1556,8 @@ static void add_negotiation_tips(struct git_transport_options *smart_options) continue; } old_nr = oids->nr; - refs_for_each_glob_ref(get_main_ref_store(the_repository), - add_oid, s, oids); + refs_for_each_ref_ext(get_main_ref_store(the_repository), + add_oid, oids, &opts); if (old_nr == oids->nr) warning("ignoring --negotiation-tip=%s because it does not match any refs", s); diff --git a/notes.c b/notes.c index 090c48bbd5..51a7ef9f83 100644 --- a/notes.c +++ b/notes.c @@ -952,8 +952,11 @@ void string_list_add_refs_by_glob(struct string_list *list, const char *glob) { assert(list->strdup_strings); if (has_glob_specials(glob)) { - refs_for_each_glob_ref(get_main_ref_store(the_repository), - string_list_add_one_ref, glob, list); + struct refs_for_each_ref_options opts = { + .pattern = glob, + }; + refs_for_each_ref_ext(get_main_ref_store(the_repository), + string_list_add_one_ref, list, &opts); } else { struct object_id oid; if (repo_get_oid(the_repository, glob, &oid)) diff --git a/refs.c b/refs.c index b4ef4ffff0..ca7fc7289b 100644 --- a/refs.c +++ b/refs.c @@ -607,15 +607,6 @@ void normalize_glob_ref(struct string_list_item *item, const char *prefix, strbuf_release(&normalized_pattern); } -int refs_for_each_glob_ref(struct ref_store *refs, refs_for_each_cb cb, - const char *pattern, void *cb_data) -{ - struct refs_for_each_ref_options opts = { - .pattern = pattern, - }; - return refs_for_each_ref_ext(refs, cb, cb_data, &opts); -} - const char *prettify_refname(const char *name) { if (skip_prefix(name, "refs/heads/", &name) || diff --git a/refs.h b/refs.h index 3fa2c11c1f..b63775fa35 100644 --- a/refs.h +++ b/refs.h @@ -527,10 +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); -/* iterates all refs that match the specified glob pattern. */ -int refs_for_each_glob_ref(struct ref_store *refs, refs_for_each_cb fn, - const char *pattern, void *cb_data); - /* * references matching any pattern in "exclude_patterns" are omitted from the * result set on a best-effort basis. diff --git a/revision.c b/revision.c index 074a75b859..4ddb3370c6 100644 --- a/revision.c +++ b/revision.c @@ -2814,10 +2814,13 @@ static int handle_revision_pseudo_opt(struct rev_info *revs, handle_refs(refs, revs, *flags, refs_for_each_remote_ref); clear_ref_exclusions(&revs->ref_excludes); } else if ((argcount = parse_long_opt("glob", argv, &optarg))) { + struct refs_for_each_ref_options opts = { + .pattern = optarg, + }; struct all_refs_cb cb; init_all_refs_cb(&cb, revs, *flags); - refs_for_each_glob_ref(get_main_ref_store(the_repository), - handle_one_ref, optarg, &cb); + refs_for_each_ref_ext(get_main_ref_store(the_repository), + handle_one_ref, &cb, &opts); clear_ref_exclusions(&revs->ref_excludes); return argcount; } else if ((argcount = parse_long_opt("exclude", argv, &optarg))) {