Browse Source

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
Christian Couder 6 years ago committed by Junio C Hamano
parent
commit
2e860675b6
  1. 13
      fetch-object.c
  2. 4
      fetch-object.h
  3. 4
      sha1-file.c

13
fetch-object.c

@ -5,11 +5,12 @@ @@ -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) @@ -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, @@ -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);
}

4
fetch-object.h

@ -3,7 +3,7 @@ @@ -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

4
sha1-file.c

@ -1381,8 +1381,8 @@ int oid_object_info_extended(struct repository *r, const struct object_id *oid, @@ -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…
Cancel
Save