Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- refs.c | 19 +++++++++---------- refs.h | 1 + 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/refs.c b/refs.c index 06890db5d..26758b8cf 100644 --- a/refs.c +++ b/refs.c @@ -1139,27 +1139,26 @@ int rename_ref_available(const char *old_refname, const char *new_refname) return ok; } -int head_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data) +int refs_head_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data) { struct object_id oid; int flag; - if (submodule) { - if (resolve_gitlink_ref(submodule, "HEAD", oid.hash) == 0) - return fn("HEAD", &oid, 0, cb_data); - - return 0; - } - - if (!read_ref_full("HEAD", RESOLVE_REF_READING, oid.hash, &flag)) + if (!refs_read_ref_full(refs, "HEAD", RESOLVE_REF_READING, + oid.hash, &flag)) return fn("HEAD", &oid, flag, cb_data); return 0; } +int head_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data) +{ + return refs_head_ref(get_submodule_ref_store(submodule), fn, cb_data); +} + int head_ref(each_ref_fn fn, void *cb_data) { - return head_ref_submodule(NULL, fn, cb_data); + return refs_head_ref(get_main_ref_store(), fn, cb_data); } /* diff --git a/refs.h b/refs.h index 229a97f59..54c038e3c 100644 --- a/refs.h +++ b/refs.h @@ -573,5 +573,6 @@ int refs_read_ref_full(struct ref_store *refs, unsigned char *sha1, int *flags); int refs_read_ref(struct ref_store *refs, const char *refname, unsigned char *sha1); +int refs_head_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data); #endif /* REFS_H */ -- 2.11.0.157.gd943d85