From: Michael Haggerty <mhagger@xxxxxxxxxxxx> According to Junio, the only reference iteration function that needs to include the extra refs is for_each_ref(). So call do_for_each_extra_ref() directly from there instead of from do_for_each_ref(). Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> --- refs.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/refs.c b/refs.c index 843c530..f52d8b5 100644 --- a/refs.c +++ b/refs.c @@ -730,10 +730,6 @@ static int do_for_each_ref(const char *submodule, const char *base, each_ref_fn struct ref_array *packed = get_packed_refs(submodule); struct ref_array *loose = get_loose_refs(submodule); - retval = do_for_each_extra_ref(base, fn, trim, cb_data); - if (retval) - goto end_each; - while (p < packed->nr && l < loose->nr) { struct ref_entry *entry; int cmp = strcmp(packed->refs[p]->name, loose->refs[l]->name); @@ -798,6 +794,9 @@ int head_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data) int for_each_ref(each_ref_fn fn, void *cb_data) { + int retval = do_for_each_extra_ref("", fn, 0, cb_data); + if (retval) + return retval; return do_for_each_ref(NULL, "", fn, 0, 0, cb_data); } -- 1.7.8 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html