for_each_alternate_ref: pass name/oid instead of ref struct

Breaking down the fields in the interface makes it easier to
change the backend of for_each_alternate_ref to something
that doesn't use "struct ref" internally.

The only field that callers actually look at is the oid,
anyway. The refname is kept in the interface as a plausible
thing for future code to want.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King
2017-02-08 15:52:57 -05:00
committed by Junio C Hamano
parent 5e8c968c64
commit 2429d63a46
4 changed files with 14 additions and 8 deletions

View File

@ -277,10 +277,12 @@ static int show_one_alternate_sha1(const unsigned char sha1[20], void *unused)
return 0;
}
static void collect_one_alternate_ref(const struct ref *ref, void *data)
static void collect_one_alternate_ref(const char *refname,
const struct object_id *oid,
void *data)
{
struct sha1_array *sa = data;
sha1_array_append(sa, ref->old_oid.hash);
sha1_array_append(sa, oid->hash);
}
static void write_head_info(void)