Move repository_format_partial_clone to promisor-remote.c
authorChristian Couder <christian.couder@gmail.com>
Tue, 25 Jun 2019 13:40:38 +0000 (15:40 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 25 Jun 2019 21:05:38 +0000 (14:05 -0700)
Now that we have has_promisor_remote() and can use many
promisor remotes, let's hide repository_format_partial_clone
as a static in promisor-remote.c to avoid it being use
for anything other than managing backward compatibility.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h
environment.c
promisor-remote.c
promisor-remote.h
setup.c
diff --git a/cache.h b/cache.h
index bf20337ef435234acf171f76137e683e66fb22d2..e34b9e66d2a57d64b6b4ef55ced7fa729ffa235b 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -961,7 +961,6 @@ extern int grafts_replace_parents;
 #define GIT_REPO_VERSION 0
 #define GIT_REPO_VERSION_READ 1
 extern int repository_format_precious_objects;
-extern char *repository_format_partial_clone;
 extern const char *core_partial_clone_filter_default;
 extern int repository_format_worktree_config;
 
index 89af47cb8504903b90460d5faa91be9f61bd2fc3..8855d2fc1101b5106279ba16900e3f5eebe35515 100644 (file)
@@ -31,7 +31,6 @@ int warn_ambiguous_refs = 1;
 int warn_on_object_refname_ambiguity = 1;
 int ref_paranoia = -1;
 int repository_format_precious_objects;
-char *repository_format_partial_clone;
 const char *core_partial_clone_filter_default;
 int repository_format_worktree_config;
 const char *git_commit_encoding;
index 92c4c12c1cadbed537edc3f4fc6105676c271cca..31d51bb50e0aea32a5898e0876f660600fd1eb90 100644 (file)
@@ -4,6 +4,13 @@
 #include "config.h"
 #include "transport.h"
 
+static char *repository_format_partial_clone;
+
+void set_repository_format_partial_clone(char *partial_clone)
+{
+       repository_format_partial_clone = xstrdup_or_null(partial_clone);
+}
+
 static int fetch_refs(const char *remote_name, struct ref *ref)
 {
        struct remote *remote;
index 838cb092f3c8bb8beab2b4c99a0c6b198a4ef64f..8200dfc9408e294c28f6dc5e1e6b70790633d31d 100644 (file)
@@ -22,4 +22,10 @@ extern int promisor_remote_get_direct(struct repository *repo,
                                      const struct object_id *oids,
                                      int oid_nr);
 
+/*
+ * This should be used only once from setup.c to set the value we got
+ * from the extensions.partialclone config option.
+ */
+extern void set_repository_format_partial_clone(char *partial_clone);
+
 #endif /* PROMISOR_REMOTE_H */
diff --git a/setup.c b/setup.c
index 8dcb4631f7d330a290ab0bb6810f24999f65a1b7..25a3038277cdaaca736a82191dd6b7bb82cd9ae2 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -4,6 +4,7 @@
 #include "dir.h"
 #include "string-list.h"
 #include "chdir-notify.h"
+#include "promisor-remote.h"
 
 static int inside_git_dir = -1;
 static int inside_work_tree = -1;
@@ -478,7 +479,7 @@ static int check_repository_format_gently(const char *gitdir, struct repository_
        }
 
        repository_format_precious_objects = candidate->precious_objects;
-       repository_format_partial_clone = xstrdup_or_null(candidate->partial_clone);
+       set_repository_format_partial_clone(candidate->partial_clone);
        repository_format_worktree_config = candidate->worktree_config;
        string_list_clear(&candidate->unknown_extensions, 0);