]> git.ipfire.org Git - thirdparty/git.git/blobdiff - promisor-remote.c
Seventh batch
[thirdparty/git.git] / promisor-remote.c
index 31d51bb50e0aea32a5898e0876f660600fd1eb90..9bd5b79d59446dede45ea075fc8d7307fcb98648 100644 (file)
@@ -5,6 +5,7 @@
 #include "transport.h"
 
 static char *repository_format_partial_clone;
+static const char *core_partial_clone_filter_default;
 
 void set_repository_format_partial_clone(char *partial_clone)
 {
@@ -88,6 +89,9 @@ static struct promisor_remote *promisor_remote_lookup(const char *remote_name,
 static void promisor_remote_move_to_tail(struct promisor_remote *r,
                                         struct promisor_remote *previous)
 {
+       if (r->next == NULL)
+               return;
+
        if (previous)
                previous->next = r->next;
        else
@@ -103,6 +107,10 @@ static int promisor_remote_config(const char *var, const char *value, void *data
        int namelen;
        const char *subkey;
 
+       if (!strcmp(var, "core.partialclonefilter"))
+               return git_config_string(&core_partial_clone_filter_default,
+                                        var, value);
+
        if (parse_config_key(var, "remote", &name, &namelen, &subkey) < 0)
                return 0;