fetch-object: make functions return an error code
The callers of the fetch_object() and fetch_objects() might be interested in knowing if these functions succeeded or not. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
c59c7c879e
commit
2e860675b6
|
@ -5,11 +5,12 @@
|
|||
#include "transport.h"
|
||||
#include "fetch-object.h"
|
||||
|
||||
static void fetch_refs(const char *remote_name, struct ref *ref)
|
||||
static int fetch_refs(const char *remote_name, struct ref *ref)
|
||||
{
|
||||
struct remote *remote;
|
||||
struct transport *transport;
|
||||
int original_fetch_if_missing = fetch_if_missing;
|
||||
int res;
|
||||
|
||||
fetch_if_missing = 0;
|
||||
remote = remote_get(remote_name);
|
||||
|
@ -19,12 +20,14 @@ static void fetch_refs(const char *remote_name, struct ref *ref)
|
|||
|
||||
transport_set_option(transport, TRANS_OPT_FROM_PROMISOR, "1");
|
||||
transport_set_option(transport, TRANS_OPT_NO_DEPENDENTS, "1");
|
||||
transport_fetch_refs(transport, ref);
|
||||
res = transport_fetch_refs(transport, ref);
|
||||
fetch_if_missing = original_fetch_if_missing;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
void fetch_objects(const char *remote_name, const struct object_id *oids,
|
||||
int oid_nr)
|
||||
int fetch_objects(const char *remote_name, const struct object_id *oids,
|
||||
int oid_nr)
|
||||
{
|
||||
struct ref *ref = NULL;
|
||||
int i;
|
||||
|
@ -36,5 +39,5 @@ void fetch_objects(const char *remote_name, const struct object_id *oids,
|
|||
new_ref->next = ref;
|
||||
ref = new_ref;
|
||||
}
|
||||
fetch_refs(remote_name, ref);
|
||||
return fetch_refs(remote_name, ref);
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
struct object_id;
|
||||
|
||||
void fetch_objects(const char *remote_name, const struct object_id *oids,
|
||||
int oid_nr);
|
||||
int fetch_objects(const char *remote_name, const struct object_id *oids,
|
||||
int oid_nr);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1381,8 +1381,8 @@ int oid_object_info_extended(struct repository *r, const struct object_id *oid,
|
|||
!already_retried && r == the_repository &&
|
||||
!(flags & OBJECT_INFO_SKIP_FETCH_OBJECT)) {
|
||||
/*
|
||||
* TODO Investigate having fetch_object() return
|
||||
* TODO error/success and stopping the music here.
|
||||
* TODO Investigate checking fetch_object() return
|
||||
* TODO value and stopping on error here.
|
||||
* TODO Pass a repository struct through fetch_object,
|
||||
* such that arbitrary repositories work.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue