Merge branch 'sb/config-write-fix'
[gitweb.git] / fetch-negotiator.c
index 2675d120feee21dd9f618ce2f6b8ff1e3a3330ea..d6d685cba012d6765b3998fde14b5c40fff82a96 100644 (file)
@@ -1,8 +1,20 @@
 #include "git-compat-util.h"
 #include "fetch-negotiator.h"
 #include "negotiator/default.h"
+#include "negotiator/skipping.h"
 
-void fetch_negotiator_init(struct fetch_negotiator *negotiator)
+void fetch_negotiator_init(struct fetch_negotiator *negotiator,
+                          const char *algorithm)
 {
+       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);
+               }
+       }
        default_negotiator_init(negotiator);
 }