aboutsummaryrefslogtreecommitdiff
path: root/list-objects-filter-options.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-10-05 14:01:53 -0700
committerJunio C Hamano <gitster@pobox.com>2020-10-05 14:01:53 -0700
commite68f0a4e574f38beeac513e824b685965dda31b7 (patch)
tree91c653dc49ef9a5e1b9d6f5354823d93f480540c /list-objects-filter-options.c
parent300cd14ee92eaa0e56688078e967402371488013 (diff)
parent23547c40518ac04a20acf2f688114f5d97b61f24 (diff)
downloadgit-e68f0a4e574f38beeac513e824b685965dda31b7.tar.xz
Merge branch 'jt/keep-partial-clone-filter-upon-lazy-fetch'
The lazy fetching done internally to make missing objects available in a partial clone incorrectly made permanent damage to the partial clone filter in the repository, which has been corrected. * jt/keep-partial-clone-filter-upon-lazy-fetch: fetch: do not override partial clone filter promisor-remote: remove unused variable
Diffstat (limited to 'list-objects-filter-options.c')
-rw-r--r--list-objects-filter-options.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/list-objects-filter-options.c b/list-objects-filter-options.c
index b66314560a..defd3dfd10 100644
--- a/list-objects-filter-options.c
+++ b/list-objects-filter-options.c
@@ -344,11 +344,19 @@ void partial_clone_register(
const char *remote,
struct list_objects_filter_options *filter_options)
{
+ struct promisor_remote *promisor_remote;
char *cfg_name;
char *filter_name;
/* Check if it is already registered */
- if (!promisor_remote_find(remote)) {
+ if ((promisor_remote = promisor_remote_find(remote))) {
+ if (promisor_remote->partial_clone_filter)
+ /*
+ * Remote is already registered and a filter is already
+ * set, so we don't need to do anything here.
+ */
+ return;
+ } else {
if (upgrade_repository_format(1) < 0)
die(_("unable to upgrade repository format to support partial clone"));