Subject: Re: git fetch origin hanging in 1.7.0

From: Ilari Liusvaara <[email-masked]>
Date: Tue, 16 Feb 2010 14:27:59 +0200

On Tue, Feb 16, 2010 at 03:18:21PM +0800, Tay Ray Chuan wrote:
> NAK. This will only work if the given transport is git://. (My take
> below.)
> 
> 
> -- >8 --
> Subject: [PATCH] transport: add got_remote_refs flag
> 
> tranport.c::transport_get_remote_refs() used to check
> transport->remote_refs to determine whether transport->get_refs_list()
> should be invoked.
> 
> However, transport->remote_refs could evaluate to false (eg. if it is
> NULL), causingo transport->get_refs_list() to be invoked unnecessarily.
> 
> Introduce a flag, transport->got_remote_refs, and make
> tranport.c::transport_get_remote_refs() check this flag rather than
> evaluating transport->remote_refs.

<snip patch>

Seems to work even in external transport case (not suprising, as at this
level, there's no difference between git://, ssh://, file:// and external
transports).

-Ilari