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 <gitster@pobox.com> Acked-by: Shawn O. Pearce <spearce@spearce.org>maint
parent
3e63b21ace
commit
cf2ad8e641
|
@ -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"
|
static const char *capabilities = "multi_ack thin-pack side-band"
|
||||||
" side-band-64k ofs-delta shallow no-progress"
|
" 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);
|
struct object *o = parse_object(sha1);
|
||||||
|
|
||||||
if (!o)
|
if (!o)
|
||||||
die("git upload-pack: cannot find object %s:", sha1_to_hex(sha1));
|
die("git upload-pack: cannot find object %s:", sha1_to_hex(sha1));
|
||||||
|
|
||||||
if (capabilities)
|
if (capabilities)
|
||||||
packet_write(1, "%s %s%c%s\n", sha1_to_hex(sha1), refname,
|
packet_write(1, "%s %s%c%s%s\n", sha1_to_hex(sha1), refname,
|
||||||
0, capabilities);
|
0, capabilities,
|
||||||
|
stateless_rpc ? " no-done" : "");
|
||||||
else
|
else
|
||||||
packet_write(1, "%s %s\n", sha1_to_hex(sha1), refname);
|
packet_write(1, "%s %s\n", sha1_to_hex(sha1), refname);
|
||||||
capabilities = NULL;
|
capabilities = NULL;
|
||||||
|
|
Loading…
Reference in New Issue