]> git.ipfire.org Git - thirdparty/git.git/commitdiff
refs: add referent to each_ref_fn
authorJohn Cai <johncai86@gmail.com>
Fri, 9 Aug 2024 15:37:50 +0000 (15:37 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 9 Aug 2024 15:47:34 +0000 (08:47 -0700)
Add a parameter to each_ref_fn so that callers to the ref APIs
that use this function as a callback can have acess to the
unresolved value of a symbolic ref.

Signed-off-by: John Cai <johncai86@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
48 files changed:
bisect.c
builtin/bisect.c
builtin/checkout.c
builtin/describe.c
builtin/fetch.c
builtin/fsck.c
builtin/gc.c
builtin/name-rev.c
builtin/pack-objects.c
builtin/receive-pack.c
builtin/remote.c
builtin/repack.c
builtin/replace.c
builtin/rev-parse.c
builtin/show-branch.c
builtin/show-ref.c
builtin/submodule--helper.c
builtin/worktree.c
commit-graph.c
delta-islands.c
fetch-pack.c
help.c
http-backend.c
log-tree.c
ls-refs.c
midx-write.c
negotiator/default.c
negotiator/skipping.c
notes.c
object-name.c
pseudo-merge.c
reachable.c
ref-filter.c
reflog.c
refs.c
refs.h
refs/files-backend.c
refs/iterator.c
remote.c
replace-object.c
revision.c
server-info.c
shallow.c
submodule.c
t/helper/test-ref-store.c
upload-pack.c
walker.c
worktree.c

index 135f94ba097ae07b5984d820e02eb50400271024..4406fc44cf9bb0b3bdefe1a7f31f91d3b379eed3 100644 (file)
--- a/bisect.c
+++ b/bisect.c
@@ -448,7 +448,7 @@ void find_bisection(struct commit_list **commit_list, int *reaches,
        clear_commit_weight(&commit_weight);
 }
 
-static int register_ref(const char *refname, const struct object_id *oid,
+static int register_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                        int flags UNUSED, void *cb_data UNUSED)
 {
        struct strbuf good_prefix = STRBUF_INIT;
@@ -1170,6 +1170,7 @@ int estimate_bisect_steps(int all)
 }
 
 static int mark_for_removal(const char *refname,
+                           const char *referent UNUSED,
                            const struct object_id *oid UNUSED,
                            int flag UNUSED, void *cb_data)
 {
index dabce9b542b1e001daea083b6e2bff4d5cf9d460..453a6cccd70bca8218d93207dd32b00d5e5026b9 100644 (file)
@@ -356,6 +356,7 @@ static int check_and_set_terms(struct bisect_terms *terms, const char *cmd)
 }
 
 static int inc_nr(const char *refname UNUSED,
+                 const char *referent UNUSED,
                  const struct object_id *oid UNUSED,
                  int flag UNUSED, void *cb_data)
 {
@@ -545,7 +546,7 @@ finish:
        return res;
 }
 
-static int add_bisect_ref(const char *refname, const struct object_id *oid,
+static int add_bisect_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                          int flags UNUSED, void *cb)
 {
        struct add_bisect_ref_data *data = cb;
@@ -1162,6 +1163,7 @@ static int bisect_visualize(struct bisect_terms *terms, int argc,
 }
 
 static int get_first_good(const char *refname UNUSED,
+                         const char *referent UNUSED,
                          const struct object_id *oid,
                          int flag UNUSED, void *cb_data)
 {
index 3cf44b4683a9ba48abaaa32ef20bc127920865bd..562778885e15b92cc8b8d104c1a3126dcd52ba39 100644 (file)
@@ -1045,7 +1045,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts,
                report_tracking(new_branch_info);
 }
 
-static int add_pending_uninteresting_ref(const char *refname,
+static int add_pending_uninteresting_ref(const char *refname, const char *referent UNUSED,
                                         const struct object_id *oid,
                                         int flags UNUSED, void *cb_data)
 {
index cf8edc422262c25d46c701e64d6cbc885a977a3f..1e86ae6d8987f7baa1687bf96a895f32946eef66 100644 (file)
@@ -149,7 +149,7 @@ static void add_to_known_names(const char *path,
        }
 }
 
-static int get_name(const char *path, const struct object_id *oid,
+static int get_name(const char *path, const char *referent UNUSED, const struct object_id *oid,
                    int flag UNUSED, void *cb_data UNUSED)
 {
        int is_tag = 0;
index 693f02b95802bc25a825bf27477c29d15a0b76d8..c297569a473f133cf7ba8e23f112fd1b0de3fa92 100644 (file)
@@ -286,7 +286,7 @@ static struct refname_hash_entry *refname_hash_add(struct hashmap *map,
        return ent;
 }
 
-static int add_one_refname(const char *refname,
+static int add_one_refname(const char *refname, const char *referent UNUSED,
                           const struct object_id *oid,
                           int flag UNUSED, void *cbdata)
 {
@@ -1464,6 +1464,7 @@ static void set_option(struct transport *transport, const char *name, const char
 
 
 static int add_oid(const char *refname UNUSED,
+                  const char *referent UNUSED,
                   const struct object_id *oid,
                   int flags UNUSED, void *cb_data)
 {
index d13a226c2ed86bf87e3d637060e2940f69ac602e..ef6ee1268bdcfcee4b81d1fdff21e6d8a818ee54 100644 (file)
@@ -521,7 +521,7 @@ static int fsck_handle_reflog(const char *logname, void *cb_data)
        return 0;
 }
 
-static int fsck_handle_ref(const char *refname, const struct object_id *oid,
+static int fsck_handle_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                           int flag UNUSED, void *cb_data UNUSED)
 {
        struct object *obj;
@@ -576,7 +576,7 @@ static void get_default_heads(void)
                strbuf_worktree_ref(wt, &ref, "HEAD");
                fsck_head_link(ref.buf, &head_points_at, &head_oid);
                if (head_points_at && !is_null_oid(&head_oid))
-                       fsck_handle_ref(ref.buf, &head_oid, 0, NULL);
+                       fsck_handle_ref(ref.buf, NULL, &head_oid, 0, NULL);
                strbuf_release(&ref);
 
                if (include_reflogs)
index 72bac2554fc4b9c26140cdfc10100db6b5dd6774..65be7c31b33e84a7f2d88e0efe8f761a8000e02f 100644 (file)
@@ -836,6 +836,7 @@ struct cg_auto_data {
 };
 
 static int dfs_on_ref(const char *refname UNUSED,
+                     const char *referent UNUSED,
                      const struct object_id *oid,
                      int flags UNUSED,
                      void *cb_data)
index 70e9ec4e477b8e5edc0839184cc4dafd66b9a958..52016f1cf7d0e031de3e677df6b86928b34b271f 100644 (file)
@@ -337,7 +337,7 @@ static int cmp_by_tag_and_age(const void *a_, const void *b_)
        return a->taggerdate != b->taggerdate;
 }
 
-static int name_ref(const char *path, const struct object_id *oid,
+static int name_ref(const char *path, const char *referent UNUSED, const struct object_id *oid,
                    int flags UNUSED, void *cb_data)
 {
        struct object *o = parse_object(the_repository, oid);
index f395488971f9c51ea8a5b3a5ef657df1ca532d99..c481feadbfa738698c19de25a3c3a5dd1c1b34c1 100644 (file)
@@ -771,7 +771,7 @@ static enum write_one_status write_one(struct hashfile *f,
        return WRITE_ONE_WRITTEN;
 }
 
-static int mark_tagged(const char *path UNUSED, const struct object_id *oid,
+static int mark_tagged(const char *path UNUSED, const char *referent UNUSED, const struct object_id *oid,
                       int flag UNUSED, void *cb_data UNUSED)
 {
        struct object_id peeled;
@@ -3129,7 +3129,7 @@ static void add_tag_chain(const struct object_id *oid)
        }
 }
 
-static int add_ref_tag(const char *tag UNUSED, const struct object_id *oid,
+static int add_ref_tag(const char *tag UNUSED, const char *referent UNUSED, const struct object_id *oid,
                       int flag UNUSED, void *cb_data UNUSED)
 {
        struct object_id peeled;
@@ -4076,6 +4076,7 @@ static void record_recent_commit(struct commit *commit, void *data UNUSED)
 }
 
 static int mark_bitmap_preferred_tip(const char *refname,
+                                    const char *referent UNUSED,
                                     const struct object_id *oid,
                                     int flags UNUSED,
                                     void *data UNUSED)
index 339524ae2a891ccc6d691843062720d95ee2613d..6e0f462efbb9145fb7be1e59a9451df26b41a870 100644 (file)
@@ -300,7 +300,7 @@ static void show_ref(const char *path, const struct object_id *oid)
        }
 }
 
-static int show_ref_cb(const char *path_full, const struct object_id *oid,
+static int show_ref_cb(const char *path_full, const char *referent UNUSED, const struct object_id *oid,
                       int flag UNUSED, void *data)
 {
        struct oidset *seen = data;
index 08292498bdebcafb603f140933166d8b1af12b6f..9a3db1b0f13d0119a7be1a80e7b14639752b0758 100644 (file)
@@ -543,6 +543,7 @@ struct branches_for_remote {
 };
 
 static int add_branch_for_removal(const char *refname,
+                                 const char *referent UNUSED,
                                  const struct object_id *oid UNUSED,
                                  int flags UNUSED, void *cb_data)
 {
@@ -585,7 +586,7 @@ struct rename_info {
        uint32_t symrefs_nr;
 };
 
-static int read_remote_branches(const char *refname,
+static int read_remote_branches(const char *refname, const char *referent UNUSED,
                                const struct object_id *oid UNUSED,
                                int flags UNUSED, void *cb_data)
 {
@@ -971,6 +972,7 @@ static void free_remote_ref_states(struct ref_states *states)
 }
 
 static int append_ref_to_tracked_list(const char *refname,
+                                     const char *referent UNUSED,
                                      const struct object_id *oid UNUSED,
                                      int flags, void *cb_data)
 {
index f0317fa94ad46c9615d8cbe1ced7c464c33be5aa..d9ea6cecbf9fdc1667e7366a8de575b069eaa536 100644 (file)
@@ -667,6 +667,7 @@ struct midx_snapshot_ref_data {
 };
 
 static int midx_snapshot_ref_one(const char *refname UNUSED,
+                                const char *referent UNUSED,
                                 const struct object_id *oid,
                                 int flag UNUSED, void *_data)
 {
index 1ef833c07f5211cfc51291b950e8f73cd6b04fa8..34cc4672bc11a2aa94d0d387d175b044e7ab5fb0 100644 (file)
@@ -49,6 +49,7 @@ struct show_data {
 };
 
 static int show_reference(const char *refname,
+                         const char *referent UNUSED,
                          const struct object_id *oid,
                          int flag UNUSED, void *cb_data)
 {
index 2e64f5bda70bc2e41a7477d919548a13ba68bd3f..a7084ca157fe7b39c766dec5024acc2a2f1dba68 100644 (file)
@@ -211,7 +211,7 @@ static int show_default(void)
        return 0;
 }
 
-static int show_reference(const char *refname, const struct object_id *oid,
+static int show_reference(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                          int flag UNUSED, void *cb_data UNUSED)
 {
        if (ref_excluded(&ref_excludes, refname))
@@ -220,7 +220,7 @@ static int show_reference(const char *refname, const struct object_id *oid,
        return 0;
 }
 
-static int anti_reference(const char *refname, const struct object_id *oid,
+static int anti_reference(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                          int flag UNUSED, void *cb_data UNUSED)
 {
        show_rev(REVERSED, oid, refname);
index d72f4cb98deead79414028120a9de844a35aecaa..3427c1572e5d6ba64f8e50e5ff16a9f3423b2a88 100644 (file)
@@ -410,7 +410,7 @@ static int append_ref(const char *refname, const struct object_id *oid,
        return 0;
 }
 
-static int append_head_ref(const char *refname, const struct object_id *oid,
+static int append_head_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                           int flag UNUSED, void *cb_data UNUSED)
 {
        struct object_id tmp;
@@ -425,7 +425,7 @@ static int append_head_ref(const char *refname, const struct object_id *oid,
        return append_ref(refname + ofs, oid, 0);
 }
 
-static int append_remote_ref(const char *refname, const struct object_id *oid,
+static int append_remote_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                             int flag UNUSED, void *cb_data UNUSED)
 {
        struct object_id tmp;
@@ -451,7 +451,7 @@ static int append_tag_ref(const char *refname, const struct object_id *oid,
 static const char *match_ref_pattern = NULL;
 static int match_ref_slash = 0;
 
-static int append_matching_ref(const char *refname, const struct object_id *oid,
+static int append_matching_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                               int flag, void *cb_data)
 {
        /* we want to allow pattern hold/<asterisk> to show all
@@ -468,7 +468,7 @@ static int append_matching_ref(const char *refname, const struct object_id *oid,
        if (wildmatch(match_ref_pattern, tail, 0))
                return 0;
        if (starts_with(refname, "refs/heads/"))
-               return append_head_ref(refname, oid, flag, cb_data);
+               return append_head_ref(refname, NULL, oid, flag, cb_data);
        if (starts_with(refname, "refs/tags/"))
                return append_tag_ref(refname, oid, flag, cb_data);
        return append_ref(refname, oid, 0);
index 839a5c29f31439e104ef99daf3460709e3e45909..04e0db707c6636bda033214d61cfca27648828c2 100644 (file)
@@ -63,7 +63,7 @@ struct show_ref_data {
        int show_head;
 };
 
-static int show_ref(const char *refname, const struct object_id *oid,
+static int show_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                    int flag UNUSED, void *cbdata)
 {
        struct show_ref_data *data = cbdata;
@@ -97,6 +97,7 @@ match:
 }
 
 static int add_existing(const char *refname,
+                       const char *referent UNUSED,
                        const struct object_id *oid UNUSED,
                        int flag UNUSED, void *cbdata)
 {
index f1218a19957aa526c20065e23076711183510b07..240c5e24ac5b7ebf01e7942636b4920b5a9fb5dc 100644 (file)
@@ -608,6 +608,7 @@ static void print_status(unsigned int flags, char state, const char *path,
 }
 
 static int handle_submodule_head_ref(const char *refname UNUSED,
+                                    const char *referent UNUSED,
                                     const struct object_id *oid,
                                     int flags UNUSED,
                                     void *cb_data)
index 1d51e54fcdc189ef6457991f8f47016c7e56a9e0..2e16218c65531968bc8eb4ae35a3145858b5f36f 100644 (file)
@@ -626,6 +626,7 @@ static void print_preparing_worktree_line(int detach,
  * Returns 0 on failure and non-zero on success.
  */
 static int first_valid_ref(const char *refname UNUSED,
+                          const char *referent UNUSED,
                           const struct object_id *oid UNUSED,
                           int flags UNUSED,
                           void *cb_data UNUSED)
index 79b0e72cc42cad5e5feeecebd54fd9f9b6cff14e..aa6e08eb39cd5fc7b1bc0d5b171641d59cd77e72 100644 (file)
@@ -1847,6 +1847,7 @@ struct refs_cb_data {
 };
 
 static int add_ref_to_set(const char *refname UNUSED,
+                         const char *referent UNUSED,
                          const struct object_id *oid,
                          int flags UNUSED, void *cb_data)
 {
index ffe1ca28144fead287ecb639378a351a30b6027a..844355125935ad64614f1cabbfd15a8e58ce185b 100644 (file)
@@ -390,7 +390,7 @@ static void add_ref_to_island(kh_str_t *remote_islands, const char *island_name,
        rl->hash += sha_core;
 }
 
-static int find_island_for_ref(const char *refname, const struct object_id *oid,
+static int find_island_for_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                               int flags UNUSED, void *cb)
 {
        struct island_load_data *ild = cb;
index 732511604b1a6c72f2df5dd8413b1473715c3826..58b4581ad80b15a9feda3f3dfcbd3548723cd113 100644 (file)
@@ -183,6 +183,7 @@ static int rev_list_insert_ref(struct fetch_negotiator *negotiator,
 }
 
 static int rev_list_insert_ref_oid(const char *refname UNUSED,
+                                  const char *referent UNUSED,
                                   const struct object_id *oid,
                                   int flag UNUSED,
                                   void *cb_data)
@@ -610,6 +611,7 @@ static int mark_complete(const struct object_id *oid)
 }
 
 static int mark_complete_oid(const char *refname UNUSED,
+                            const char *referent UNUSED,
                             const struct object_id *oid,
                             int flag UNUSED,
                             void *cb_data UNUSED)
diff --git a/help.c b/help.c
index a6b4d3b1ebdac0d4d1ce50daa667405b480ac596..c03863f2265f7bbaba72fc26b377a677683ea58d 100644 (file)
--- a/help.c
+++ b/help.c
@@ -804,7 +804,7 @@ struct similar_ref_cb {
        struct string_list *similar_refs;
 };
 
-static int append_similar_ref(const char *refname,
+static int append_similar_ref(const char *refname, const char *referent UNUSED,
                              const struct object_id *oid UNUSED,
                              int flags UNUSED, void *cb_data)
 {
index 461424972b6976e7f40f050a272f49bee35637eb..79ce097359b19db55579808f1f43e103738b0abc 100644 (file)
@@ -512,7 +512,7 @@ static void run_service(const char **argv, int buffer_input)
                exit(1);
 }
 
-static int show_text_ref(const char *name, const struct object_id *oid,
+static int show_text_ref(const char *name, const char *referent UNUSED, const struct object_id *oid,
                         int flag UNUSED, void *cb_data)
 {
        const char *name_nons = strip_namespace(name);
@@ -568,7 +568,7 @@ static void get_info_refs(struct strbuf *hdr, char *arg UNUSED)
        strbuf_release(&buf);
 }
 
-static int show_head_ref(const char *refname, const struct object_id *oid,
+static int show_head_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                         int flag, void *cb_data)
 {
        struct strbuf *buf = cb_data;
index 52feec4356ab12e206dcf79d313c65c07c49f75f..40306434556bff021e4591bdfde0b73e3107a0ed 100644 (file)
@@ -145,7 +145,7 @@ static int ref_filter_match(const char *refname,
        return 1;
 }
 
-static int add_ref_decoration(const char *refname, const struct object_id *oid,
+static int add_ref_decoration(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                              int flags UNUSED,
                              void *cb_data)
 {
index 2dd925b43d067aa95b51ccf9d38d54174fea63c6..c824aea7146a3e825c54b62bc7a77da82365940f 100644 (file)
--- a/ls-refs.c
+++ b/ls-refs.c
@@ -77,7 +77,7 @@ struct ls_refs_data {
        unsigned unborn : 1;
 };
 
-static int send_ref(const char *refname, const struct object_id *oid,
+static int send_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                    int flag, void *cb_data)
 {
        struct ls_refs_data *data = cb_data;
@@ -135,7 +135,7 @@ static void send_possibly_unborn_head(struct ls_refs_data *data)
        oid_is_null = is_null_oid(&oid);
        if (!oid_is_null ||
            (data->unborn && data->symrefs && (flag & REF_ISSYMREF)))
-               send_ref(namespaced.buf, oid_is_null ? NULL : &oid, flag, data);
+               send_ref(namespaced.buf, NULL, oid_is_null ? NULL : &oid, flag, data);
        strbuf_release(&namespaced);
 }
 
index a77ee73c68158772b1e142f3c3a641cb7a61720e..99c3110a43b78cc83d693ff8099e28fa8580b029 100644 (file)
@@ -655,7 +655,7 @@ static void prepare_midx_packing_data(struct packing_data *pdata,
        trace2_region_leave("midx", "prepare_midx_packing_data", the_repository);
 }
 
-static int add_ref_to_pending(const char *refname,
+static int add_ref_to_pending(const char *refname, const char *referent UNUSED,
                              const struct object_id *oid,
                              int flag, void *cb_data)
 {
index e3fa5c3324933dd90b4622f32408b6469d9bf458..c479da9b09157077c0a8a4548c95fef35c95c0d4 100644 (file)
@@ -38,7 +38,7 @@ static void rev_list_push(struct negotiation_state *ns,
        }
 }
 
-static int clear_marks(const char *refname, const struct object_id *oid,
+static int clear_marks(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                       int flag UNUSED,
                       void *cb_data UNUSED)
 {
index f109928ad0b316c4a00f2004c61468442d246a5e..f65d47858b422e4f842f0eb3db76ede8ead9716b 100644 (file)
@@ -75,7 +75,7 @@ static struct entry *rev_list_push(struct data *data, struct commit *commit, int
        return entry;
 }
 
-static int clear_marks(const char *refname, const struct object_id *oid,
+static int clear_marks(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                       int flag UNUSED,
                       void *cb_data UNUSED)
 {
diff --git a/notes.c b/notes.c
index 1ba6412aae80a0a555a7d27247d44fc0ca76e858..da42df282d5b6c13c19584901ab48516ab91bbe2 100644 (file)
--- a/notes.c
+++ b/notes.c
@@ -932,7 +932,7 @@ out:
        return ret;
 }
 
-static int string_list_add_one_ref(const char *refname,
+static int string_list_add_one_ref(const char *refname, const char *referent UNUSED,
                                   const struct object_id *oid UNUSED,
                                   int flag UNUSED, void *cb)
 {
index 527b853ac456cb1ba243106a3a165eec6d247cf8..7cca43020f271d871b9712a3ddff7525cd970156 100644 (file)
@@ -1365,7 +1365,7 @@ struct handle_one_ref_cb {
        struct commit_list **list;
 };
 
-static int handle_one_ref(const char *path, const struct object_id *oid,
+static int handle_one_ref(const char *path, const char *referent UNUSED, const struct object_id *oid,
                          int flag UNUSED,
                          void *cb_data)
 {
index f0fde13c47133d7a1761aa6c9b300a947ff51c79..77a83b9c5ce1814d5c2236d1aaf602176c242f97 100644 (file)
@@ -201,6 +201,7 @@ void load_pseudo_merges_from_config(struct string_list *list)
 }
 
 static int find_pseudo_merge_group_for_ref(const char *refname,
+                                          const char *referent UNUSED,
                                           const struct object_id *oid,
                                           int flags UNUSED,
                                           void *_data)
index 46613a6bb6f536d0ac999ed0120011961f88dd7e..3e9b3dd0a46cb410b8f032784115c78084c5dbd9 100644 (file)
@@ -79,7 +79,7 @@ static void add_rebase_files(struct rev_info *revs)
        free_worktrees(worktrees);
 }
 
-static int add_one_ref(const char *path, const struct object_id *oid,
+static int add_one_ref(const char *path, const char *referent UNUSED, const struct object_id *oid,
                       int flag, void *cb_data)
 {
        struct rev_info *revs = (struct rev_info *)cb_data;
index 8c5e673fc0a521425c1035ce3f31575c185c34ef..39997890feb1bd8869aa8dc9a70c38ce9f7ae795 100644 (file)
@@ -2865,7 +2865,7 @@ struct ref_filter_cbdata {
  * A call-back given to for_each_ref().  Filter refs and keep them for
  * later object processing.
  */
-static int filter_one(const char *refname, const struct object_id *oid, int flag, void *cb_data)
+static int filter_one(const char *refname, const char *referent UNUSED, const struct object_id *oid, int flag, void *cb_data)
 {
        struct ref_filter_cbdata *ref_cbdata = cb_data;
        struct ref_array_item *ref;
@@ -2900,7 +2900,7 @@ struct ref_filter_and_format_cbdata {
        } internal;
 };
 
-static int filter_and_format_one(const char *refname, const struct object_id *oid, int flag, void *cb_data)
+static int filter_and_format_one(const char *refname, const char *referent UNUSED, const struct object_id *oid, int flag, void *cb_data)
 {
        struct ref_filter_and_format_cbdata *ref_cbdata = cb_data;
        struct ref_array_item *ref;
index 5ca944529b30ccaf30d527789478349d915f10c1..d592c1cfb56f9c60496ab89f0fe6885aa2681c9e 100644 (file)
--- a/reflog.c
+++ b/reflog.c
@@ -300,6 +300,7 @@ int should_expire_reflog_ent_verbose(struct object_id *ooid,
 }
 
 static int push_tip_to_list(const char *refname UNUSED,
+                           const char *referent UNUSED,
                            const struct object_id *oid,
                            int flags, void *cb_data)
 {
diff --git a/refs.c b/refs.c
index 915aeb4d1dbb62ebc113188e83076b908f3b2c35..af7f306667a31745ac890b90473339e37159e78f 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -414,7 +414,7 @@ int refs_ref_exists(struct ref_store *refs, const char *refname)
                                         NULL, NULL);
 }
 
-static int for_each_filter_refs(const char *refname,
+static int for_each_filter_refs(const char *refname, const char *referent,
                                const struct object_id *oid,
                                int flags, void *data)
 {
@@ -424,7 +424,7 @@ static int for_each_filter_refs(const char *refname,
                return 0;
        if (filter->prefix)
                skip_prefix(refname, filter->prefix, &refname);
-       return filter->fn(refname, oid, flags, filter->cb_data);
+       return filter->fn(refname, referent, oid, flags, filter->cb_data);
 }
 
 struct warn_if_dangling_data {
@@ -435,7 +435,7 @@ struct warn_if_dangling_data {
        const char *msg_fmt;
 };
 
-static int warn_if_dangling_symref(const char *refname,
+static int warn_if_dangling_symref(const char *refname, const char *referent UNUSED,
                                   const struct object_id *oid UNUSED,
                                   int flags, void *cb_data)
 {
@@ -506,7 +506,7 @@ int refs_head_ref_namespaced(struct ref_store *refs, each_ref_fn fn, void *cb_da
 
        strbuf_addf(&buf, "%sHEAD", get_git_namespace());
        if (!refs_read_ref_full(refs, buf.buf, RESOLVE_REF_READING, &oid, &flag))
-               ret = fn(buf.buf, &oid, flag, cb_data);
+               ret = fn(buf.buf, NULL, &oid, flag, cb_data);
        strbuf_release(&buf);
 
        return ret;
@@ -1547,7 +1547,7 @@ int refs_head_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
 
        if (refs_resolve_ref_unsafe(refs, "HEAD", RESOLVE_REF_READING,
                                    &oid, &flag))
-               return fn("HEAD", &oid, flag, cb_data);
+               return fn("HEAD", NULL, &oid, flag, cb_data);
 
        return 0;
 }
@@ -2387,7 +2387,7 @@ struct do_for_each_reflog_help {
        void *cb_data;
 };
 
-static int do_for_each_reflog_helper(const char *refname,
+static int do_for_each_reflog_helper(const char *refname, const char *referent,
                                     const struct object_id *oid UNUSED,
                                     int flags,
                                     void *cb_data)
@@ -2593,7 +2593,7 @@ struct migration_data {
        struct strbuf *errbuf;
 };
 
-static int migrate_one_ref(const char *refname, const struct object_id *oid,
+static int migrate_one_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                           int flags, void *cb_data)
 {
        struct migration_data *data = cb_data;
diff --git a/refs.h b/refs.h
index b3e39bc257046d9672d2fdafb50e2e05c76f4bee..743d788b653c2194dbc0378a04361ee905cc1095 100644 (file)
--- a/refs.h
+++ b/refs.h
@@ -298,7 +298,7 @@ struct ref_transaction;
  * arguments is only guaranteed to be valid for the duration of a
  * single callback invocation.
  */
-typedef int each_ref_fn(const char *refname,
+typedef int each_ref_fn(const char *refname, const char *referent,
                        const struct object_id *oid, int flags, void *cb_data);
 
 /*
index 210adf644fa393e8f630509dcf9cbec655a83c33..94d1ed0e1c71010b25276b5935eb6d8cd7068500 100644 (file)
@@ -3044,7 +3044,7 @@ static int files_transaction_abort(struct ref_store *ref_store,
        return 0;
 }
 
-static int ref_present(const char *refname,
+static int ref_present(const char *refname, const char *referent UNUSED,
                       const struct object_id *oid UNUSED,
                       int flags UNUSED,
                       void *cb_data)
index 75fbe5d72ab036f23fdd23be6d6c6ffa81d35b65..8e999d81fc638fc52b470819a79ece7ee08842cb 100644 (file)
@@ -450,7 +450,7 @@ int do_for_each_ref_iterator(struct ref_iterator *iter,
 
        current_ref_iter = iter;
        while ((ok = ref_iterator_advance(iter)) == ITER_OK) {
-               retval = fn(iter->refname, iter->oid, iter->flags, cb_data);
+               retval = fn(iter->refname, iter->referent, iter->oid, iter->flags, cb_data);
                if (retval) {
                        /*
                         * If ref_iterator_abort() returns ITER_ERROR,
index f43cf5e7a4d2432113400c28a45e58cc2230b36b..4a1269a47ab3d635c46f130a0dac45f7b3908313 100644 (file)
--- a/remote.c
+++ b/remote.c
@@ -2354,7 +2354,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb,
        return 1;
 }
 
-static int one_local_ref(const char *refname, const struct object_id *oid,
+static int one_local_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                         int flag UNUSED,
                         void *cb_data)
 {
@@ -2439,7 +2439,7 @@ struct stale_heads_info {
        struct refspec *rs;
 };
 
-static int get_stale_heads_cb(const char *refname, const struct object_id *oid,
+static int get_stale_heads_cb(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                              int flags, void *cb_data)
 {
        struct stale_heads_info *info = cb_data;
index 59252d565eff65d057213c603373d116e8f43d61..9a3cdd809a9b484312940f16c9178a90b5e3b94a 100644 (file)
@@ -9,6 +9,7 @@
 #include "commit.h"
 
 static int register_replace_ref(const char *refname,
+                               const char *referent UNUSED,
                                const struct object_id *oid,
                                int flag UNUSED,
                                void *cb_data)
index 1c0192f522507ed75002eebcbf8b574528f1d837..6b33bd814f7d937cd6210e3c85bcb36a6845e2e1 100644 (file)
@@ -1648,7 +1648,7 @@ struct all_refs_cb {
        struct worktree *wt;
 };
 
-static int handle_one_ref(const char *path, const struct object_id *oid,
+static int handle_one_ref(const char *path, const char *referent UNUSED, const struct object_id *oid,
                          int flag UNUSED,
                          void *cb_data)
 {
index f61296a60d0dcc06679d3a16cc99c7ca4247f25d..1508fa6f825ec7559ffca9e184c23c9fcbf914ad 100644 (file)
@@ -147,7 +147,7 @@ out:
        return ret;
 }
 
-static int add_info_ref(const char *path, const struct object_id *oid,
+static int add_info_ref(const char *path, const char *referent UNUSED, const struct object_id *oid,
                        int flag UNUSED,
                        void *cb_data)
 {
index 31a6ca40fe2287e37092dc2251d1f6b8515455e0..b8cd051e3b6a7023a8467fc6b1b290073a32c8e4 100644 (file)
--- a/shallow.c
+++ b/shallow.c
@@ -612,6 +612,7 @@ static void paint_down(struct paint_info *info, const struct object_id *oid,
 }
 
 static int mark_uninteresting(const char *refname UNUSED,
+                             const char *referent UNUSED,
                              const struct object_id *oid,
                              int flags UNUSED,
                              void *cb_data UNUSED)
@@ -727,6 +728,7 @@ struct commit_array {
 };
 
 static int add_ref(const char *refname UNUSED,
+                 const char *referent UNUSED,
                   const struct object_id *oid,
                   int flags UNUSED,
                   void *cb_data)
index ab99a30253083bc9f4d53120ed27b53d1caca2a1..7c0f5db861d3572960f6f4b2bf69b22ec00038a5 100644 (file)
@@ -953,6 +953,7 @@ static void free_submodules_data(struct string_list *submodules)
 }
 
 static int has_remote(const char *refname UNUSED,
+                     const char *referent UNUSED,
                      const struct object_id *oid UNUSED,
                      int flags UNUSED, void *cb_data UNUSED)
 {
@@ -1273,6 +1274,7 @@ int push_unpushed_submodules(struct repository *r,
 }
 
 static int append_oid_to_array(const char *ref UNUSED,
+                              const char *referent UNUSED,
                               const struct object_id *oid,
                               int flags UNUSED, void *data)
 {
index 637b8b294e90df8ec3caf1639c73543d1f01074f..65346dee551ccd781a88786f0c8465f60b286cde 100644 (file)
@@ -156,7 +156,7 @@ static int cmd_rename_ref(struct ref_store *refs, const char **argv)
        return refs_rename_ref(refs, oldref, newref, logmsg);
 }
 
-static int each_ref(const char *refname, const struct object_id *oid,
+static int each_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                    int flags, void *cb_data UNUSED)
 {
        printf("%s %s 0x%x\n", oid_to_hex(oid), refname, flags);
index 0052c6a4dce1fad808a5bdd2c92c0827c5453d18..f03ba3e98be736ca1b97ab0854ac45c915be683f 100644 (file)
@@ -857,7 +857,7 @@ static void send_unshallow(struct upload_pack_data *data)
        }
 }
 
-static int check_ref(const char *refname_full, const struct object_id *oid,
+static int check_ref(const char *refname_full, const char *referent UNUSED, const struct object_id *oid,
                     int flag, void *cb_data);
 static void deepen(struct upload_pack_data *data, int depth)
 {
@@ -1208,7 +1208,7 @@ static int mark_our_ref(const char *refname, const char *refname_full,
        return 0;
 }
 
-static int check_ref(const char *refname_full, const struct object_id *oid,
+static int check_ref(const char *refname_full, const char *referent UNUSED,const struct object_id *oid,
                     int flag UNUSED, void *cb_data)
 {
        const char *refname = strip_namespace(refname_full);
@@ -1276,14 +1276,14 @@ static void write_v0_ref(struct upload_pack_data *data,
        return;
 }
 
-static int send_ref(const char *refname, const struct object_id *oid,
+static int send_ref(const char *refname, const char *referent UNUSED, const struct object_id *oid,
                    int flag UNUSED, void *cb_data)
 {
        write_v0_ref(cb_data, refname, strip_namespace(refname), oid);
        return 0;
 }
 
-static int find_symref(const char *refname,
+static int find_symref(const char *refname, const char *referent UNUSED,
                       const struct object_id *oid UNUSED,
                       int flag, void *cb_data)
 {
index 0fafdc97cf17e8ffa9d90d82b6929641b56d66ae..807a7a388131fe98de6fb7f24e0921e8d46bc8d6 100644 (file)
--- a/walker.c
+++ b/walker.c
@@ -221,6 +221,7 @@ static int interpret_target(struct walker *walker, char *target, struct object_i
 }
 
 static int mark_complete(const char *path UNUSED,
+                       const char *referent UNUSED,
                         const struct object_id *oid,
                         int flag UNUSED,
                         void *cb_data UNUSED)
index f3c4c8ec54d6c41373e22d837e98864260cfa750..fd05f3741c6595eb36357c8bbd6e7022088c88ab 100644 (file)
@@ -546,7 +546,7 @@ int other_head_refs(each_ref_fn fn, void *cb_data)
                                            refname.buf,
                                            RESOLVE_REF_READING,
                                            &oid, &flag))
-                       ret = fn(refname.buf, &oid, flag, cb_data);
+                       ret = fn(refname.buf, NULL, &oid, flag, cb_data);
                if (ret)
                        break;
        }