smart_protocol: fix parsing of server ACK responses Fix ACK parsing in wait_while_ack() internal function. This patch handles the case where multi_ack_detailed mode sends 'ready' ACKs. The existing functionality would bail out too early, thus causing the processing of the ensuing packfile to fail if/when 'ready' ACKs were sent.
diff --git a/src/transports/smart_protocol.c b/src/transports/smart_protocol.c
index 25e78c6..8146fa1 100644
--- a/src/transports/smart_protocol.c
+++ b/src/transports/smart_protocol.c
@@ -325,7 +325,8 @@ static int wait_while_ack(gitno_buffer *buf)
if (pkt->type == GIT_PKT_ACK &&
(pkt->status != GIT_ACK_CONTINUE &&
- pkt->status != GIT_ACK_COMMON)) {
+ pkt->status != GIT_ACK_COMMON &&
+ pkt->status != GIT_ACK_READY)) {
git__free(pkt);
return 0;
}