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

main

Commit

Soph2mo 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

Checkpoints

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

Use a real Windows lock for the file token store

CodexGPT-5.5
View session
Checkpoint 1

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

Review the code changes against the base branch 'main'. The merge base commit for this comparison is 368750cee35f31935640a34ad199e889fc60f1a8. Run `git diff 368750cee35f31935640a34ad199e889fc60f1a8` t

CodexGPT-5.5
View session
Checkpoint 1

just remove .clawpatch from the commit but then just delete the folder, we don't need to keep it

Claude CodeOpus 4.8[1m]
View session
Checkpoint 1