Merge branch 'jt/transfer-fsck-across-packs'
authorJunio C Hamano <gitster@pobox.com>
Mon, 1 Mar 2021 22:02:57 +0000 (14:02 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 1 Mar 2021 22:02:57 +0000 (14:02 -0800)
commit6ee353d42f389ec9454161b64ffbeb4167edebaa
tree408986aa58c00c86025845ff01d7475a9333f933
parent660dd97a62da66ffe95df20a9e27a01e39ae473f
parent5476e1efded571e374cd97c7d69f17962ba1c44f
Merge branch 'jt/transfer-fsck-across-packs'

The approach to "fsck" the incoming objects in "index-pack" is
attractive for performance reasons (we have them already in core,
inflated and ready to be inspected), but fundamentally cannot be
applied fully when we receive more than one pack stream, as a tree
object in one pack may refer to a blob object in another pack as
".gitmodules", when we want to inspect blobs that are used as
".gitmodules" file, for example.  Teach "index-pack" to emit
objects that must be inspected later and check them in the calling
"fetch-pack" process.

* jt/transfer-fsck-across-packs:
  fetch-pack: print and use dangling .gitmodules
  fetch-pack: with packfile URIs, use index-pack arg
  http-fetch: allow custom index-pack args
  http: allow custom index-pack args
Documentation/git-index-pack.txt
builtin/index-pack.c
builtin/receive-pack.c
fetch-pack.c
fsck.c
fsck.h
pack-write.c
pack.h
t/t5550-http-fetch-dumb.sh
t/t5702-protocol-v2.sh