summaryrefslogtreecommitdiff
path: root/repository.c
diff options
context:
space:
mode:
Diffstat (limited to 'repository.c')
-rw-r--r--repository.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/repository.c b/repository.c
index 448cd557d4..b2bf44c6fa 100644
--- a/repository.c
+++ b/repository.c
@@ -11,6 +11,7 @@
#include "lockfile.h"
#include "submodule-config.h"
#include "sparse-index.h"
+#include "promisor-remote.h"
/* The main repository */
static struct repository the_repo;
@@ -172,6 +173,10 @@ int repo_init(struct repository *repo,
repo_set_hash_algo(repo, format.hash_algo);
+ /* take ownership of format.partial_clone */
+ repo->repository_format_partial_clone = format.partial_clone;
+ format.partial_clone = NULL;
+
if (worktree)
repo_set_worktree(repo, worktree);
@@ -258,6 +263,11 @@ void repo_clear(struct repository *repo)
if (repo->index != &the_index)
FREE_AND_NULL(repo->index);
}
+
+ if (repo->promisor_remote_config) {
+ promisor_remote_clear(repo->promisor_remote_config);
+ FREE_AND_NULL(repo->promisor_remote_config);
+ }
}
int repo_read_index(struct repository *repo)