On Mon, Dec 9, 2019 at 7:47 AM Jeff King <peff@xxxxxxxx> wrote: > I think by dropping these hunks now, the state of the code at this point > would mean that we might write the objects twice. We'd mark them as > "reused" and send them as part of write_reused_pack(). But we'd also > send them to pack-objects via the show_reachable_fn callback, and it > would add them to the usual packing list. > > And indeed, t5310.10 fails at this point in the series with: > > Cloning into bare repository 'clone.git'... > remote: Enumerating objects: 331, done. > remote: Counting objects: 100% (331/331), done. > remote: Compressing objects: 100% (111/111), done. > remote: Total 662 (delta 108), reused 331 (delta 108), pack-reused 331 > Receiving objects: 100% (662/662), 53.14 KiB | 17.71 MiB/s, done. > Resolving deltas: 100% (216/216), done. > fatal: The same object 00c1d3730931e66eb08dabe3a3c9fa16621d728a appears twice in the pack > fatal: index-pack failed > > and then starts working again after the final patch. Yeah, I thought I had tested this, but anyway I squashed this patch into the final patch to avoid failures.