Skip to content

Commit

Permalink
enable "no-done" extension only when serving over smart-http
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Mar 29, 2011
1 parent 3e63b21 commit cf2ad8e
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions upload-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit cf2ad8e

Please sign in to comment.