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"
|
2018-06-15 06:54:28 +08:00
|
|
|
|
2018-07-17 02:44:01 +08:00
|
|
|
void fetch_negotiator_init(struct fetch_negotiator *negotiator,
|
|
|
|
const char *algorithm)
|
2018-06-15 06:54:28 +08:00
|
|
|
{
|
2018-08-01 23:18:34 +08:00
|
|
|
if (algorithm) {
|
|
|
|
if (!strcmp(algorithm, "skipping")) {
|
|
|
|
skipping_negotiator_init(negotiator);
|
|
|
|
return;
|
|
|
|
} else if (!strcmp(algorithm, "default")) {
|
|
|
|
/* Fall through to default initialization */
|
|
|
|
} else {
|
|
|
|
die("unknown fetch negotiation algorithm '%s'", algorithm);
|
|
|
|
}
|
2018-07-17 02:44:01 +08:00
|
|
|
}
|
2018-06-15 06:54:28 +08:00
|
|
|
default_negotiator_init(negotiator);
|
|
|
|
}
|