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