path: root/refs.h
diff options
authorStefan Beller <>2018-04-12 00:21:10 (GMT)
committerJunio C Hamano <>2018-04-12 02:38:56 (GMT)
commit60ce76d35819a9679104b6615aa0466ae49023a0 (patch)
treeed7f7da5ccb195dfd05989c82ac01efa4e85a7ec /refs.h
parent23a3f0cb16caa1cc79cf0af42a92bff61fe955a4 (diff)
refs: add repository argument to for_each_replace_ref
Add a repository argument to allow for_each_replace_ref callers to be more specific about which repository to handle. This is a small mechanical change; it doesn't change the implementation to handle repositories other than the_repository yet. As with the previous commits, use a macro to catch callers passing a repository other than the_repository at compile time. Signed-off-by: Jonathan Nieder <> Signed-off-by: Stefan Beller <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'refs.h')
1 files changed, 3 insertions, 1 deletions
diff --git a/refs.h b/refs.h
index 0d01337..ab3d2be 100644
--- a/refs.h
+++ b/refs.h
@@ -300,7 +300,9 @@ int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data,
int for_each_tag_ref(each_ref_fn fn, void *cb_data);
int for_each_branch_ref(each_ref_fn fn, void *cb_data);
int for_each_remote_ref(each_ref_fn fn, void *cb_data);
-int for_each_replace_ref(each_ref_fn fn, void *cb_data);
+#define for_each_replace_ref(r, fn, cb) \
+ for_each_replace_ref_##r(fn, cb)
+int for_each_replace_ref_the_repository(each_ref_fn fn, void *cb_data);
int for_each_glob_ref(each_ref_fn fn, const char *pattern, void *cb_data);
int for_each_glob_ref_in(each_ref_fn fn, const char *pattern,
const char *prefix, void *cb_data);