Merge branch 'dl/checkout-p-merge-base'
[git] / fetch-negotiator.c
1 #include "git-compat-util.h"
2 #include "fetch-negotiator.h"
3 #include "negotiator/default.h"
4 #include "negotiator/skipping.h"
5 #include "negotiator/noop.h"
6 #include "repository.h"
7
8 void fetch_negotiator_init(struct repository *r,
9                            struct fetch_negotiator *negotiator)
10 {
11         prepare_repo_settings(r);
12         switch(r->settings.fetch_negotiation_algorithm) {
13         case FETCH_NEGOTIATION_SKIPPING:
14                 skipping_negotiator_init(negotiator);
15                 return;
16
17         case FETCH_NEGOTIATION_NOOP:
18                 noop_negotiator_init(negotiator);
19                 return;
20
21         case FETCH_NEGOTIATION_DEFAULT:
22         default:
23                 default_negotiator_init(negotiator);
24                 return;
25         }
26 }