diff options
| author | Elijah Newren <newren@gmail.com> | 2026-08-29 07:00:30 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-08-30 13:37:42 -0700 |
| commit | 22eef58fba36a6dd9cadfe606b9f711e89266ae3 (patch) | |
| tree | cdbda1250c76edb9af1fc8c585e550ac1fb0e245 /t/t4013/diff.diff_initial..side | |
| parent | 6272f3bd174fcd1b394d8b5e05b2ba384bd9f63e (diff) | |
mktree: do not use OBJECT_INFO_QUICK when checking objects
mktree_line() checks each referenced object's type with
odb_read_object_info_extended() under OBJECT_INFO_QUICK. QUICK skips the
reprepare-and-retry that reloads the on-disk pack set, so a resident
"git mktree --batch" reader reports an object that a concurrent repack
just relocated into a new pack as missing, and rejects the entry.
QUICK entered this lookup in 817b0f602710 (mktree: do not check type of
remote objects, 2022-06-21) only to avoid lazily fetching promisor
objects; OBJECT_INFO_SKIP_FETCH_OBJECT already provides that. Drop
OBJECT_INFO_QUICK and keep OBJECT_INFO_SKIP_FETCH_OBJECT, so mktree still
avoids a promisor fetch but recovers an object that was merely repacked.
Add a regression test driving a resident mktree --batch reader across a
concurrent repack that retires a pack.
Assisted-by: Claude Opus 4.8 & GPT-5.6 Sol
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4013/diff.diff_initial..side')
0 files changed, 0 insertions, 0 deletions
