Ilari Liusvaara <ilari.liusvaara@xxxxxxxxxxx> wrote: > Add support for taking over transports that turn out to be smart. I really don't like this disown strategy and its magic ref return value from fetch. > @@ -1020,7 +1089,13 @@ int transport_fetch_refs(struct transport *transport, struct ref *refs) > heads[nr_heads++] = rm; > } > > +retry: > rc = transport->fetch(transport, nr_heads, heads); > + if(rc == TRANSPORT_LAYER6_READY) { > + git_take_over_transport(transport); > + goto retry; > + } 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? -- Shawn. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html