1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-29 01:36:13 +02:00

checkout.c: change "unique" member to "num_matches"

Internally track how many matches we find in the check_tracking_name()
callback. Nothing uses this now, but it will be made use of in a later
change.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2018-06-05 14:40:45 +00:00 committed by Junio C Hamano
parent e417151b24
commit e4d2d55ae4

View File

@ -7,10 +7,10 @@ struct tracking_name_data {
/* const */ char *src_ref;
char *dst_ref;
struct object_id *dst_oid;
int unique;
int num_matches;
};
#define TRACKING_NAME_DATA_INIT { NULL, NULL, NULL, 1 }
#define TRACKING_NAME_DATA_INIT { NULL, NULL, NULL, 0 }
static int check_tracking_name(struct remote *remote, void *cb_data)
{
@ -23,9 +23,9 @@ static int check_tracking_name(struct remote *remote, void *cb_data)
free(query.dst);
return 0;
}
cb->num_matches++;
if (cb->dst_ref) {
free(query.dst);
cb->unique = 0;
return 0;
}
cb->dst_ref = query.dst;
@ -39,7 +39,7 @@ const char *unique_tracking_name(const char *name, struct object_id *oid)
cb_data.dst_oid = oid;
for_each_remote(check_tracking_name, &cb_data);
free(cb_data.src_ref);
if (cb_data.unique)
if (cb_data.num_matches == 1)
return cb_data.dst_ref;
free(cb_data.dst_ref);
return NULL;