Working out what to send a peer now takes one pass over git history instead of two.
What's wrong with this entry?
Deciding 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.
- Sizing feeds the commit list and objects into a single batched object-size read, returning a missing count and a floor size together.
- The overflow retry falls back to a separate count of missing prerequisites.
- Outcomes remain
prerequisites_missing,too_largeandnothing_to_send.
--batch-check=%(objectsize:disk) %(objecttype) %(rest)
Strings lifted out of the shipped bundle, so the claim above can be checked against them.