promisor-remote: add promisor_remote_reinit()

We will need to reinitialize the promisor remote configuration
as we will make some changes to it in a later commit.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Couder 2019-06-25 15:40:29 +02:00 коммит произвёл Junio C Hamano
Родитель 9e27beaa23
Коммит 9cfebc1f3b
2 изменённых файлов: 21 добавлений и 2 удалений

Просмотреть файл

@ -67,10 +67,10 @@ static int promisor_remote_config(const char *var, const char *value, void *data
return 0;
}
static int initialized;
static void promisor_remote_init(void)
{
static int initialized;
if (initialized)
return;
initialized = 1;
@ -78,6 +78,24 @@ static void promisor_remote_init(void)
git_config(promisor_remote_config, NULL);
}
static void promisor_remote_clear(void)
{
while (promisors) {
struct promisor_remote *r = promisors;
promisors = promisors->next;
free(r);
}
promisors_tail = &promisors;
}
void promisor_remote_reinit(void)
{
initialized = 0;
promisor_remote_clear();
promisor_remote_init();
}
struct promisor_remote *promisor_remote_find(const char *remote_name)
{
promisor_remote_init();

Просмотреть файл

@ -12,6 +12,7 @@ struct promisor_remote {
const char name[FLEX_ARRAY];
};
extern void promisor_remote_reinit(void);
extern struct promisor_remote *promisor_remote_find(const char *remote_name);
extern int has_promisor_remote(void);
extern int promisor_remote_get_direct(struct repository *repo,