{"version":"2.1.247","anchor":"peer-send-sizing-collapsed-into-a-single-history-walk","canonical_anchor":"peer-send-sizing-collapsed-into-a-single-history-walk","heading":"Peer-send sizing collapsed into a single history walk","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247\/e\/peer-send-sizing-collapsed-into-a-single-history-walk","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247","markdown":"### Peer-send sizing collapsed into a single history walk\n\nWorking out what to send a peer now takes one pass over git history instead of two.\n\n**What**\n\nDeciding what to ship to a peer now reads commits, fork points and objects from one git history walk instead of two, with a cheaper retry if the output overflows the buffer. The refusal reasons you can see are unchanged.\n\n**Details**\n\n- Sizing feeds the commit list and objects into a single batched object-size read, returning a missing count and a floor size together.\n- The overflow retry falls back to a separate count of missing prerequisites.\n- Outcomes remain `prerequisites_missing`, `too_large` and `nothing_to_send`.\n\n**Evidence**\n\n`--batch-check=%(objectsize:disk) %(objecttype) %(rest)`\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 1\/5"}