Subject: [PATCH 0/5] When fetching from a promisor remote, repack local objects referenced

From: Jonathan Tan <[email-masked]>
Date: Thu, 24 Oct 2024 11:08:39 -0700

This is a polished version of [1], also with all the test failures
debugged and addressed.

The first 4 patches are cleanups and addressing issues with tests, and
the last patch contains the actual change.

This aims to solve the same problem as [2]. Some issues with it have
been brought up in [3] (e.g. not being able to identify if an object is
missing due to repo corruption or legitimately missing because it's been
promised, and also GC not removing any local object); these patches do
not have those issues. (Admittedly, these patches may have other issues
- mainly, more work needs to be done during fetch, and that work may
result in duplicate objects on disk, but I think that both the work and
the disk space used will be minimal, and the extra disk space used will
go away after a GC.)

[1] https://lore.kernel.org/git/[email-masked]/
[2] https://lore.kernel.org/git/[email-masked]/
[3] https://lore.kernel.org/git/[email-masked]/

Jonathan Tan (5):
  pack-objects: make variable non-static
  t0410: make test description clearer
  t0410: use from-scratch server
  t5300: move --window clamp test next to unclamped
  index-pack: repack local links into promisor packs

 Documentation/git-index-pack.txt |   5 ++
 builtin/index-pack.c             | 110 ++++++++++++++++++++++++++++++-
 builtin/pack-objects.c           |  31 ++++++++-
 t/t0410-partial-clone.sh         |   6 +-
 t/t5300-pack-object.sh           |  10 +--
 t/t5616-partial-clone.sh         |  30 +++++++++
 6 files changed, 180 insertions(+), 12 deletions(-)

-- 
2.47.0.163.g1226f6d8fa-goog