archive: convert write_archive_entry_fn_t to object_id
[gitweb.git] / setup.c
diff --git a/setup.c b/setup.c
index 16e7a6bb4cf6b76d11ba2df72fd6a641defef18c..72877796420b06213665f5d357decb202e71fa91 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -422,7 +422,11 @@ static int check_repo_format(const char *var, const char *value, void *vdata)
                        ;
                else if (!strcmp(ext, "preciousobjects"))
                        data->precious_objects = git_config_bool(var, value);
-               else
+               else if (!strcmp(ext, "partialclone")) {
+                       if (!value)
+                               return config_error_nonbool(var);
+                       data->partial_clone = xstrdup(value);
+               } else
                        string_list_append(&data->unknown_extensions, ext);
        } else if (strcmp(var, "core.bare") == 0) {
                data->is_bare = git_config_bool(var, value);
@@ -464,6 +468,7 @@ static int check_repository_format_gently(const char *gitdir, struct repository_
        }
 
        repository_format_precious_objects = candidate->precious_objects;
+       repository_format_partial_clone = candidate->partial_clone;
        string_list_clear(&candidate->unknown_extensions, 0);
        if (!has_common) {
                if (candidate->is_bare != -1) {