diff options
author | Jeff King <peff@peff.net> | 2017-02-08 15:52:57 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-02-08 15:39:55 -0800 |
commit | 2429d63a46b141bb5006b8c1ea82e2d0163ab626 (patch) | |
tree | f5329a7ce5f3ed9671173f201e27b37c39575358 /fetch-pack.c | |
parent | for_each_alternate_ref: use strbuf for path allocation (diff) | |
download | tgif-2429d63a46b141bb5006b8c1ea82e2d0163ab626.tar.xz |
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>
Diffstat (limited to 'fetch-pack.c')
-rw-r--r-- | fetch-pack.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/fetch-pack.c b/fetch-pack.c index 601f0779a1..54f84c5733 100644 --- a/fetch-pack.c +++ b/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, |