From: Christian Couder Date: Sat, 02 Dec 2017 20:33:54 GMT Subject: Re: [PATCH v5 07/10] introduce fetch-object: fetch one promisor object Message-ID: In-Reply-To: <20171121210720.21376-8-git@jeffhostetler.com> On Tue, Nov 21, 2017 at 10:07 PM, Jeff Hostetler wrote: > From: Jonathan Tan > +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.