From: Junio C Hamano Date: Tue, 29 Mar 2011 17:24:59 +0000 (-0700) Subject: enable "no-done" extension only when serving over smart-http X-Git-Tag: v1.7.5-rc0~6^3 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=cf2ad8e64175bcf4b2bb693a9e4c0a89076111dd;p=git.git enable "no-done" extension only when serving over smart-http Do not advertise no-done capability when upload-pack is not serving over smart-http, as there is no way for this server to know when it should stop reading in-flight data from the client, even though it is necessary to drain all the in-flight data in order to unblock the client. Signed-off-by: Junio C Hamano Acked-by: Shawn O. Pearce --- diff --git a/upload-pack.c b/upload-pack.c index 5924f6f98..a247fb9e2 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -640,15 +640,16 @@ static int send_ref(const char *refname, const unsigned char *sha1, int flag, vo { static const char *capabilities = "multi_ack thin-pack side-band" " side-band-64k ofs-delta shallow no-progress" - " include-tag multi_ack_detailed no-done"; + " include-tag multi_ack_detailed"; struct object *o = parse_object(sha1); if (!o) die("git upload-pack: cannot find object %s:", sha1_to_hex(sha1)); if (capabilities) - packet_write(1, "%s %s%c%s\n", sha1_to_hex(sha1), refname, - 0, capabilities); + packet_write(1, "%s %s%c%s%s\n", sha1_to_hex(sha1), refname, + 0, capabilities, + stateless_rpc ? " no-done" : ""); else packet_write(1, "%s %s\n", sha1_to_hex(sha1), refname); capabilities = NULL;