read_loose_refs(): read refs using resolve_ref_recursively()

There is no need to call read_ref_full() or resolve_gitlink_ref() from
read_loose_refs(), because we already have a ref_store object in hand.
So we can call resolve_ref_recursively() ourselves. Happily, this
unifies the code for the submodule vs. non-submodule cases.

This requires resolve_ref_recursively() to be exposed to the refs
subsystem, though not to non-refs code.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Michael Haggerty
2017-02-09 21:53:52 +01:00
committed by Junio C Hamano
parent 9c7d772b6b
commit 3c0cb0cbae
3 changed files with 13 additions and 18 deletions

View File

@ -650,4 +650,9 @@ void base_ref_store_init(struct ref_store *refs,
*/
struct ref_store *get_ref_store(const char *submodule);
const char *resolve_ref_recursively(struct ref_store *refs,
const char *refname,
int resolve_flags,
unsigned char *sha1, int *flags);
#endif /* REFS_REFS_INTERNAL_H */