2018-06-15 06:54:28 +08:00
|
|
|
#include "git-compat-util.h"
|
|
|
|
#include "fetch-negotiator.h"
|
|
|
|
#include "negotiator/default.h"
|
2018-07-17 02:44:01 +08:00
|
|
|
#include "negotiator/skipping.h"
|
2020-08-18 12:01:31 +08:00
|
|
|
#include "negotiator/noop.h"
|
2019-08-14 02:37:48 +08:00
|
|
|
#include "repository.h"
|
2018-06-15 06:54:28 +08:00
|
|
|
|
2019-08-14 02:37:48 +08:00
|
|
|
void fetch_negotiator_init(struct repository *r,
|
|
|
|
struct fetch_negotiator *negotiator)
|
2018-06-15 06:54:28 +08:00
|
|
|
{
|
2019-08-14 02:37:48 +08:00
|
|
|
prepare_repo_settings(r);
|
|
|
|
switch(r->settings.fetch_negotiation_algorithm) {
|
|
|
|
case FETCH_NEGOTIATION_SKIPPING:
|
|
|
|
skipping_negotiator_init(negotiator);
|
|
|
|
return;
|
|
|
|
|
2020-08-18 12:01:31 +08:00
|
|
|
case FETCH_NEGOTIATION_NOOP:
|
|
|
|
noop_negotiator_init(negotiator);
|
|
|
|
return;
|
|
|
|
|
2022-02-02 11:42:40 +08:00
|
|
|
case FETCH_NEGOTIATION_CONSECUTIVE:
|
2019-08-14 02:37:48 +08:00
|
|
|
default_negotiator_init(negotiator);
|
|
|
|
return;
|
2018-07-17 02:44:01 +08:00
|
|
|
}
|
2018-06-15 06:54:28 +08:00
|
|
|
}
|
2022-03-28 22:02:05 +08:00
|
|
|
|
|
|
|
void fetch_negotiator_init_noop(struct fetch_negotiator *negotiator)
|
|
|
|
{
|
|
|
|
noop_negotiator_init(negotiator);
|
|
|
|
}
|