Treat a pack-less v2 fetch response as an error, not success

main

Commit

Stefan Haubold4mo ago

consumeV2FetchPack returned nil when the response ended (flush or EOF) without ever delivering a packfile section, so a truncated or empty response let a fetch report success having stored nothing. By the time control reaches here wants is non-empty (fetchToStoreV2/fetchPackV2 short-circuit the up-to-date case earlier), so the server owes us a packfile. Return io.ErrUnexpectedEOF on the no-packfile flush/EOF paths, matching the sibling openV2PackStream.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com Entire-Checkpoint: a96014b75712