Subject: [PATCH 0/4] First steps towards partial clone submodules

From: Jonathan Tan <[email-masked]>
Date: Tue, 1 Jun 2021 14:34:15 -0700

This is a preliminary step towards supporting partial clone submodules
(e.g., by cloning with --recurse-submodules and having the given filter
propagate to submodules). Even with this patch set, we won't be there
yet (notably, some code in Git access objects in submodules by adding
them as alternates - so lazy-fetching missing objects in submodules
wouldn't work here), but at least this is a first step.

This patch set would also be useful if Git needed to operate on
other repositories (other than in the submodule case), but I can't think
of such a situation right now.

As mentioned, there is still more work that needs to be done. Any help
is appreciated, and as for me, I hope to get back to this in the 3rd
quarter of the year.

Jonathan Tan (4):
  promisor-remote: read partialClone config here
  promisor-remote: support per-repository config
  run-command: move envvar-resetting function
  promisor-remote: teach lazy-fetch in any repo

 Makefile                      |   1 +
 cache.h                       |   1 -
 object-file.c                 |   7 +-
 promisor-remote.c             | 119 +++++++++++++++++++---------------
 promisor-remote.h             |  26 +++++---
 repository.h                  |   4 ++
 run-command.c                 |  10 +++
 run-command.h                 |   7 ++
 setup.c                       |  10 ++-
 submodule.c                   |  14 +---
 t/helper/test-partial-clone.c |  34 ++++++++++
 t/helper/test-tool.c          |   1 +
 t/helper/test-tool.h          |   1 +
 t/t0410-partial-clone.sh      |  24 +++++++
 14 files changed, 177 insertions(+), 82 deletions(-)
 create mode 100644 t/helper/test-partial-clone.c

-- 
2.32.0.rc0.204.g9fa02ecfa5-goog