Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > When process_acks sees an ACK, it passes it on to the negotiator. > It wants to record that it received an ack to reset in_vain, but > it forgets to! The function is initialized and read but never > written to. Yeah, this smells like the right solution ;-) s/function/variable/ though. > > So I'd expect the following to help: > > diff --git i/fetch-pack.c w/fetch-pack.c > index 1734a573b01..a1d743e1f61 100644 > --- i/fetch-pack.c > +++ w/fetch-pack.c > @@ -1287,6 +1287,8 @@ static int process_acks(struct fetch_negotiator *negotiator, > struct object_id oid; > if (!get_oid_hex(arg, &oid)) { > struct commit *commit; > + > + received_ack = 1; > oidset_insert(common, &oid); > commit = lookup_commit(the_repository, &oid); > if (negotiator)