diff options
author | René Scharfe <l.s.r@web.de> | 2018-10-04 17:09:06 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-10-04 11:12:13 -0700 |
commit | bf73282c0b34bfc7772f952496b06150cceb5dae (patch) | |
tree | 9f1bf2d858ff46d5b8beec889730c368677fe3ea /fetch-pack.c | |
parent | Second batch post 2.19 (diff) | |
download | tgif-bf73282c0b34bfc7772f952496b06150cceb5dae.tar.xz |
fetch-pack: factor out is_unmatched_ref()
Move the code to determine if a request is unmatched to its own little
helper. This allows us to reuse it in a subsequent patch.
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'fetch-pack.c')
-rw-r--r-- | fetch-pack.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/fetch-pack.c b/fetch-pack.c index 75047a4b2a..3b317952f0 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -543,6 +543,16 @@ static int tip_oids_contain(struct oidset *tip_oids, return oidset_contains(tip_oids, id); } +static int is_unmatched_ref(const struct ref *ref) +{ + struct object_id oid; + const char *p; + return ref->match_status == REF_NOT_MATCHED && + !parse_oid_hex(ref->name, &oid, &p) && + *p == '\0' && + oideq(&oid, &ref->old_oid); +} + static void filter_refs(struct fetch_pack_args *args, struct ref **refs, struct ref **sought, int nr_sought) @@ -591,15 +601,8 @@ static void filter_refs(struct fetch_pack_args *args, /* Append unmatched requests to the list */ for (i = 0; i < nr_sought; i++) { - struct object_id oid; - const char *p; - ref = sought[i]; - if (ref->match_status != REF_NOT_MATCHED) - continue; - if (parse_oid_hex(ref->name, &oid, &p) || - *p != '\0' || - !oideq(&oid, &ref->old_oid)) + if (!is_unmatched_ref(ref)) continue; if ((allow_unadvertised_object_request & |