From: Ilari Liusvaara Date: Sat, 05 Dec 2009 13:18:14 GMT Subject: Re: [RFC PATCH v2 3/8] Support taking over transports Message-ID: <20091205131814.GC1684@Knoppix> In-Reply-To: <20091204182753.GD1483@spearce.org> On Fri, Dec 04, 2009 at 10:27:53AM -0800, Shawn O. Pearce wrote: > Ilari Liusvaara wrote: > > Add support for taking over transports that turn out to be smart. > > Why can't you expose git_take_over_transport as a public function > and then the transport-helper.c code can instead do: > > ... setup connect with helper ... > transport_takeover(transport, child); > return transport->fetch(....); > > Would this make the code simpler? The code complexity difference is not big. The magic return was for historic reasons that no longer apply (and didn't get fixed when corresponding upstream changes happned). Namely, the push/push_refs impedance mismatch. Helpers used push, smart transports used push_refs. But now that both use push_refs, the handler can be invoked directly from push_refs of helper. Fixed. -Ilari