From: Shawn Pearce Date: Wed, 20 Feb 2013 07:41:23 GMT Subject: Re: [PATCHv2 10/10] remote-curl: always parse incoming refs Message-ID: In-Reply-To: <20130218105033.GH7049@elie.Belkin> On Mon, Feb 18, 2013 at 1:30 AM, Jeff King wrote: > When remote-curl receives a list of refs from a server, it > keeps the whole buffer intact. When we get a "list" command, > we feed the result to get_remote_heads, and when we get a > "fetch" or "push" command, we feed it to fetch-pack or > send-pack, respectively. > > If the HTTP response from the server is truncated for any > reason, ... > As a result, fetch-pack hangs, waiting for input. However, > remote-curl believes it has sent all of the advertisement, > and therefore waits for fetch-pack to speak. The two > processes end up in a deadlock. Eek. Thanks for fixing this. On Mon, Feb 18, 2013 at 2:50 AM, Jonathan Nieder wrote: > Jeff King wrote: > >> remote-curl.c | 23 +++++++++++++---------- >> 1 file changed, 13 insertions(+), 10 deletions(-) > > I like. Me too.