diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2016-09-04 18:08:13 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-09-09 15:28:12 -0700 |
commit | f0d21efc3536b369e4a95d78628c19a941381be3 (patch) | |
tree | 1a26e79e5ea5a1315aadfe6ea534c2d3d8d058c8 /refs | |
parent | add_packed_ref(): add a files_ref_store argument (diff) | |
download | tgif-f0d21efc3536b369e4a95d78628c19a941381be3.tar.xz |
get_packed_ref(): add a files_ref_store argument
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs')
-rw-r--r-- | refs/files-backend.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/refs/files-backend.c b/refs/files-backend.c index 08340755d7..16d5b9f14b 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -1403,11 +1403,9 @@ int resolve_gitlink_ref(const char *path, const char *refname, unsigned char *sh * Return the ref_entry for the given refname from the packed * references. If it does not exist, return NULL. */ -static struct ref_entry *get_packed_ref(const char *refname) +static struct ref_entry *get_packed_ref(struct files_ref_store *refs, + const char *refname) { - struct files_ref_store *refs = - get_files_ref_store(NULL, "get_packed_ref"); - return find_ref(get_packed_refs(refs), refname); } @@ -1418,13 +1416,16 @@ static int resolve_missing_loose_ref(const char *refname, unsigned char *sha1, unsigned int *flags) { + struct files_ref_store *refs = + get_files_ref_store(NULL, "resolve_missing_loose_ref"); + struct ref_entry *entry; /* * The loose reference file does not exist; check for a packed * reference. */ - entry = get_packed_ref(refname); + entry = get_packed_ref(refs, refname); if (entry) { hashcpy(sha1, entry->u.value.oid.hash); *flags |= REF_ISPACKED; @@ -1836,6 +1837,7 @@ static enum peel_status peel_entry(struct ref_entry *entry, int repeel) int peel_ref(const char *refname, unsigned char *sha1) { + struct files_ref_store *refs = get_files_ref_store(NULL, "peel_ref"); int flag; unsigned char base[20]; @@ -1860,7 +1862,7 @@ int peel_ref(const char *refname, unsigned char *sha1) * have REF_KNOWS_PEELED. */ if (flag & REF_ISPACKED) { - struct ref_entry *r = get_packed_ref(refname); + struct ref_entry *r = get_packed_ref(refs, refname); if (r) { if (peel_entry(r, 0)) return -1; @@ -2469,7 +2471,7 @@ static int repack_without_refs(struct string_list *refnames, struct strbuf *err) /* Look for a packed ref */ for_each_string_list_item(refname, refnames) { - if (get_packed_ref(refname->string)) { + if (get_packed_ref(refs, refname->string)) { needs_repacking = 1; break; } |