зеркало из https://github.com/microsoft/git.git
upload-pack: pass upload_pack_data to ok_to_give_up()
As we cleanup 'upload-pack.c' by using 'struct upload_pack_data' more thoroughly, let's pass that struct to ok_to_give_up(), so that this function can use all the fields of the struct. This will be used in followup commits to move a static variable into 'upload_pack_data'. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
6fbbc4374f
Коммит
0866734820
|
@ -428,15 +428,14 @@ static int got_oid(const char *hex, struct object_id *oid,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ok_to_give_up(const struct object_array *have_obj,
|
static int ok_to_give_up(struct upload_pack_data *data)
|
||||||
struct object_array *want_obj)
|
|
||||||
{
|
{
|
||||||
uint32_t min_generation = GENERATION_NUMBER_ZERO;
|
uint32_t min_generation = GENERATION_NUMBER_ZERO;
|
||||||
|
|
||||||
if (!have_obj->nr)
|
if (!data->have_obj.nr)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return can_all_from_reach_with_flag(want_obj, THEY_HAVE,
|
return can_all_from_reach_with_flag(&data->want_obj, THEY_HAVE,
|
||||||
COMMON_KNOWN, oldest_have,
|
COMMON_KNOWN, oldest_have,
|
||||||
min_generation);
|
min_generation);
|
||||||
}
|
}
|
||||||
|
@ -461,7 +460,7 @@ static int get_common_commits(struct upload_pack_data *data,
|
||||||
if (data->multi_ack == MULTI_ACK_DETAILED
|
if (data->multi_ack == MULTI_ACK_DETAILED
|
||||||
&& got_common
|
&& got_common
|
||||||
&& !got_other
|
&& !got_other
|
||||||
&& ok_to_give_up(&data->have_obj, &data->want_obj)) {
|
&& ok_to_give_up(data)) {
|
||||||
sent_ready = 1;
|
sent_ready = 1;
|
||||||
packet_write_fmt(1, "ACK %s ready\n", last_hex);
|
packet_write_fmt(1, "ACK %s ready\n", last_hex);
|
||||||
}
|
}
|
||||||
|
@ -483,7 +482,7 @@ static int get_common_commits(struct upload_pack_data *data,
|
||||||
case -1: /* they have what we do not */
|
case -1: /* they have what we do not */
|
||||||
got_other = 1;
|
got_other = 1;
|
||||||
if (data->multi_ack
|
if (data->multi_ack
|
||||||
&& ok_to_give_up(&data->have_obj, &data->want_obj)) {
|
&& ok_to_give_up(data)) {
|
||||||
const char *hex = oid_to_hex(&oid);
|
const char *hex = oid_to_hex(&oid);
|
||||||
if (data->multi_ack == MULTI_ACK_DETAILED) {
|
if (data->multi_ack == MULTI_ACK_DETAILED) {
|
||||||
sent_ready = 1;
|
sent_ready = 1;
|
||||||
|
@ -1402,7 +1401,7 @@ static int send_acks(struct upload_pack_data *data, struct oid_array *acks)
|
||||||
oid_to_hex(&acks->oid[i]));
|
oid_to_hex(&acks->oid[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ok_to_give_up(&data->have_obj, &data->want_obj)) {
|
if (ok_to_give_up(data)) {
|
||||||
/* Send Ready */
|
/* Send Ready */
|
||||||
packet_writer_write(&data->writer, "ready\n");
|
packet_writer_write(&data->writer, "ready\n");
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче