]> git.ipfire.org Git - thirdparty/git.git/commitdiff
refs: replace `refs_for_each_namespaced_ref()`
authorPatrick Steinhardt <ps@pks.im>
Mon, 23 Feb 2026 11:59:50 +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_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>
http-backend.c
refs.c
refs.h
upload-pack.c

index 0122146df607b2c2afed022364d2d23d9b68f305..1a171c5c5a0b02e9810bf69b62992e523da9cc35 100644 (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);
diff --git a/refs.c b/refs.c
index ca7fc7289bc505e93067659027728572c3d3fdc6..35a4925ac4e50d1d8695bababbe62abfc25d31c7 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -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;
diff --git a/refs.h b/refs.h
index b63775fa352d2e38cbb35965215baa9b4ea2eb6e..1b468c4ffb7166f99d0d8b100c7bd492878a09cc 100644 (file)
--- a/refs.h
+++ b/refs.h
@@ -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/'.
index 7fe397b0d09bb3f2ac34b880d263c5eb1807ae36..d21f0577f982fab3b9a21b5abf56e4a1ee4d624b 100644 (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);
 }