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:
committed by
Junio C Hamano
parent
5e8c968c64
commit
2429d63a46
12
fetch-pack.c
12
fetch-pack.c
@ -253,9 +253,11 @@ static void send_request(struct fetch_pack_args *args,
|
||||
write_or_die(fd, buf->buf, buf->len);
|
||||
}
|
||||
|
||||
static void insert_one_alternate_ref(const struct ref *ref, void *unused)
|
||||
static void insert_one_alternate_ref(const char *refname,
|
||||
const struct object_id *oid,
|
||||
void *unused)
|
||||
{
|
||||
rev_list_insert_ref(NULL, ref->old_oid.hash);
|
||||
rev_list_insert_ref(NULL, oid->hash);
|
||||
}
|
||||
|
||||
#define INITIAL_FLUSH 16
|
||||
@ -619,9 +621,11 @@ static void filter_refs(struct fetch_pack_args *args,
|
||||
*refs = newlist;
|
||||
}
|
||||
|
||||
static void mark_alternate_complete(const struct ref *ref, void *unused)
|
||||
static void mark_alternate_complete(const char *refname,
|
||||
const struct object_id *oid,
|
||||
void *unused)
|
||||
{
|
||||
mark_complete(ref->old_oid.hash);
|
||||
mark_complete(oid->hash);
|
||||
}
|
||||
|
||||
static int everything_local(struct fetch_pack_args *args,
|
||||
|
||||
Reference in New Issue
Block a user