Merge branch 'dl/complete-cherry-pick-revert-skip'
[gitweb.git] / fetch-negotiator.c
index 2675d120feee21dd9f618ce2f6b8ff1e3a3330ea..0a1357dc9d55b34992ff5a6f65e3bdf77375465e 100644 (file)
@@ -1,8 +1,21 @@
 #include "git-compat-util.h"
 #include "fetch-negotiator.h"
 #include "negotiator/default.h"
+#include "negotiator/skipping.h"
+#include "repository.h"
 
-void fetch_negotiator_init(struct fetch_negotiator *negotiator)
+void fetch_negotiator_init(struct repository *r,
+                          struct fetch_negotiator *negotiator)
 {
-       default_negotiator_init(negotiator);
+       prepare_repo_settings(r);
+       switch(r->settings.fetch_negotiation_algorithm) {
+       case FETCH_NEGOTIATION_SKIPPING:
+               skipping_negotiator_init(negotiator);
+               return;
+
+       case FETCH_NEGOTIATION_DEFAULT:
+       default:
+               default_negotiator_init(negotiator);
+               return;
+       }
 }