]> git.ipfire.org Git - thirdparty/git.git/commit
promisor-remote: teach lazy-fetch in any repo
authorJonathan Tan <jonathantanmy@google.com>
Thu, 17 Jun 2021 17:13:26 +0000 (10:13 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Jun 2021 16:58:01 +0000 (09:58 -0700)
commitef830cc4341260ef45ffe6c7164e23505d45a5a2
tree00c3bb9dcaadf183c1b11929a0f5ed9286973ffe
parentd1fa94356ddd2a81348532d49030cd08d0df6a4d
promisor-remote: teach lazy-fetch in any repo

This is one step towards supporting partial clone submodules.

Even after this patch, we will still lack partial clone submodules
support, primarily because a lot of Git code that accesses submodule
objects does so by adding their object stores as alternates, meaning
that any lazy fetches that would occur in the submodule would be done
based on the config of the superproject, not of the submodule. This also
prevents testing of the functionality in this patch by user-facing
commands. So for now, test this mechanism using a test helper.

Besides that, there is some code that uses the wrapper functions
like has_promisor_remote(). Those will need to be checked to see if they
could support the non-wrapper functions instead (and thus support any
repository, not just the_repository).

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>
Makefile
object-file.c
promisor-remote.c
t/helper/test-partial-clone.c [new file with mode: 0644]
t/helper/test-tool.c
t/helper/test-tool.h
t/t0410-partial-clone.sh