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>
This commit is contained in:

committed by
Junio C Hamano

parent
fe8321ec05
commit
bf73282c0b
19
fetch-pack.c
19
fetch-pack.c
@ -543,6 +543,16 @@ static int tip_oids_contain(struct oidset *tip_oids,
|
|||||||
return oidset_contains(tip_oids, id);
|
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,
|
static void filter_refs(struct fetch_pack_args *args,
|
||||||
struct ref **refs,
|
struct ref **refs,
|
||||||
struct ref **sought, int nr_sought)
|
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 */
|
/* Append unmatched requests to the list */
|
||||||
for (i = 0; i < nr_sought; i++) {
|
for (i = 0; i < nr_sought; i++) {
|
||||||
struct object_id oid;
|
|
||||||
const char *p;
|
|
||||||
|
|
||||||
ref = sought[i];
|
ref = sought[i];
|
||||||
if (ref->match_status != REF_NOT_MATCHED)
|
if (!is_unmatched_ref(ref))
|
||||||
continue;
|
|
||||||
if (parse_oid_hex(ref->name, &oid, &p) ||
|
|
||||||
*p != '\0' ||
|
|
||||||
!oideq(&oid, &ref->old_oid))
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((allow_unadvertised_object_request &
|
if ((allow_unadvertised_object_request &
|
||||||
|
Reference in New Issue
Block a user