]> git.ipfire.org Git - thirdparty/git.git/commitdiff
refs: replace `refs_for_each_glob_ref()`
authorPatrick Steinhardt <ps@pks.im>
Mon, 23 Feb 2026 11:59:49 +0000 (12:59 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 23 Feb 2026 21:21:19 +0000 (13:21 -0800)
Replace calls to `refs_for_each_glob_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>
builtin/fetch.c
notes.c
refs.c
refs.h
revision.c

index a3bc7e9380b9b6ea64b1372126d1fe17b2109822..a3323fbfd7387c06f7bfae37886bdac66f11e79a 100644 (file)
@@ -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 090c48bbd5230363bcd995b9c004a7b75e860097..51a7ef9f830a13a5f13d3b63b9a5603ff6e6973a 100644 (file)
--- 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 b4ef4ffff05729f0cabf031440bd70f7c69674ff..ca7fc7289bc505e93067659027728572c3d3fdc6 100644 (file)
--- 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 3fa2c11c1f1d258ad5978498dcf7cfd0cad2a956..b63775fa352d2e38cbb35965215baa9b4ea2eb6e 100644 (file)
--- 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.
index 074a75b859c59272a1a1458dd1057a38cf973226..4ddb3370c6cb10f589bb103bc118aeed3fa6703c 100644 (file)
@@ -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))) {