git-commit-vandalism/promisor-remote.h
Jonathan Tan db7ed7418b promisor-remote: accept 0 as oid_nr in function
There are 3 callers to promisor_remote_get_direct() that first check if
the number of objects to be fetched is equal to 0. Fold that check into
promisor_remote_get_direct(), and in doing so, be explicit as to what
promisor_remote_get_direct() does if oid_nr is 0 (it returns 0, success,
immediately).

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-04-02 12:42:32 -07:00

42 lines
1.1 KiB
C

#ifndef PROMISOR_REMOTE_H
#define PROMISOR_REMOTE_H
#include "repository.h"
struct object_id;
/*
* Promisor remote linked list
*
* Information in its fields come from remote.XXX config entries or
* from extensions.partialclone or core.partialclonefilter.
*/
struct promisor_remote {
struct promisor_remote *next;
const char *partial_clone_filter;
const char name[FLEX_ARRAY];
};
void promisor_remote_reinit(void);
struct promisor_remote *promisor_remote_find(const char *remote_name);
int has_promisor_remote(void);
/*
* Fetches all requested objects from all promisor remotes, trying them one at
* a time until all objects are fetched. Returns 0 upon success, and non-zero
* otherwise.
*
* If oid_nr is 0, this function returns 0 (success) immediately.
*/
int promisor_remote_get_direct(struct repository *repo,
const struct object_id *oids,
int oid_nr);
/*
* This should be used only once from setup.c to set the value we got
* from the extensions.partialclone config option.
*/
void set_repository_format_partial_clone(char *partial_clone);
#endif /* PROMISOR_REMOTE_H */