summaryrefslogtreecommitdiffstats
path: root/promisor-remote.h
diff options
context:
space:
mode:
authorJonathan Tan <jonathantanmy@google.com>2021-06-17 19:13:23 +0200
committerJunio C Hamano <gitster@pobox.com>2021-06-28 18:57:42 +0200
commitef7dc2e9ccb832c1dc29d5102c09f6c4a51d4dca (patch)
tree41fcf5bf22fa1ce772820e17da982e11ed1dd9b8 /promisor-remote.h
parentrepository: move global r_f_p_c to repo struct (diff)
downloadgit-ef7dc2e9ccb832c1dc29d5102c09f6c4a51d4dca.tar.xz
git-ef7dc2e9ccb832c1dc29d5102c09f6c4a51d4dca.zip
promisor-remote: support per-repository config
Instead of using global variables to store promisor remote information, store this config in struct repository instead, and add repository-agnostic non-static functions corresponding to the existing non-static functions that only work on the_repository. The actual lazy-fetching of missing objects currently does not work on repositories other than the_repository, and will still not work after this commit, so add a BUG message explaining this. A subsequent commit will remove this limitation. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Reviewed-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'promisor-remote.h')
-rw-r--r--promisor-remote.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/promisor-remote.h b/promisor-remote.h
index 687210ab87..edc45ab0f5 100644
--- a/promisor-remote.h
+++ b/promisor-remote.h
@@ -17,9 +17,25 @@ struct promisor_remote {
const char name[FLEX_ARRAY];
};
-void promisor_remote_reinit(void);
-struct promisor_remote *promisor_remote_find(const char *remote_name);
-int has_promisor_remote(void);
+void repo_promisor_remote_reinit(struct repository *r);
+static inline void promisor_remote_reinit(void)
+{
+ repo_promisor_remote_reinit(the_repository);
+}
+
+void promisor_remote_clear(struct promisor_remote_config *config);
+
+struct promisor_remote *repo_promisor_remote_find(struct repository *r, const char *remote_name);
+static inline struct promisor_remote *promisor_remote_find(const char *remote_name)
+{
+ return repo_promisor_remote_find(the_repository, remote_name);
+}
+
+int repo_has_promisor_remote(struct repository *r);
+static inline int has_promisor_remote(void)
+{
+ return repo_has_promisor_remote(the_repository);
+}
/*
* Fetches all requested objects from all promisor remotes, trying them one at