On 12/2/2017 3:33 PM, Christian Couder wrote:
On Tue, Nov 21, 2017 at 10:07 PM, Jeff Hostetler <g...@jeffhostetler.com> wrote:
From: Jonathan Tan <jonathanta...@google.com>

+void fetch_object(const char *remote_name, const unsigned char *sha1)
+{
+       struct remote *remote;
+       struct transport *transport;
+       struct ref *ref;
+
+       remote = remote_get(remote_name);
+       if (!remote->url[0])
+               die(_("Remote with no URL"));
+       transport = transport_get(remote, remote->url[0]);
+
+       ref = alloc_ref(sha1_to_hex(sha1));
+       hashcpy(ref->old_oid.hash, sha1);
+       transport_set_option(transport, TRANS_OPT_FROM_PROMISOR, "1");
+       transport_set_option(transport, TRANS_OPT_NO_HAVES, "1");
+       transport_fetch_refs(transport, ref);
+}

I think it would be interesting to return what transport_fetch_refs()
returns, so that a caller could know if an error happened.


That might help the retry/found_packed loop mentioned
in your response on the next patch in this series.

I'll make a TODO item for this to investigate.

Thanks
Jeff

Reply via email to