[PATCH v6 0/4] fetch: allow adding a filter after initial clone
- From
Xin Li <delphij@google.com>
- Date
- Jun 5, 2020, 09:10 UTC
- Message-ID
- <20200605091004.208668-1-delphij@google.com>
- In-Reply-To
- <xmqqk10uzkcd.fsf@gitster.c.googlers.com>
This series of patch makes fetch to allow adding a filter after initial clone, useful for existing shallow clones as they allow users to see earlier change histories without downloading all git objects in a regular --unshallow fetch.
This version of patchset is mostly identical to the v5 draft but splitted into smaller individual patches.
Please note that the last patch is an incompatible change that would make extensions stop working for version 0 repositories. Currently, unknown extensions are silently ignored for version 0, which means the user may see undesirable result when upgraded to a new Git version.
Xin Li (4):
repository: add a helper function to perform repository format upgrade
fetch: allow adding a filter after initial clone
sparse-checkout: upgrade repository to version 1 when enabling
extension
check_repository_format_gently(): refuse extensions for old
repositoriesbuiltin/fetch.c | 3 --- builtin/sparse-checkout.c | 2 ++ cache.h | 1 + list-objects-filter-options.c | 3 ++- repository.h | 6 +++++ setup.c | 41 +++++++++++++++++++++++++++++--- t/t0410-partial-clone.sh | 23 ++++++++++++++++++ t/t1090-sparse-checkout-scope.sh | 1 - t/t2404-worktree-config.sh | 4 +++- t/t5500-fetch-pack.sh | 1 - t/t5702-protocol-v2.sh | 1 - 11 files changed, 75 insertions(+), 11 deletions(-)
-- 2.27.0.278.ge193c7cf3a9-goog