Files
ngit-grasp/src
DanConwayDev 9ee6d0473c fix(git): reject incomplete receive-pack success responses
The merged status path could synthesize a complete success after truncated Git output or release buffered success statuses despite a failed subprocess exit. Require both inner and outer report flushes and a successful process before completing the response.

Treat these as transport failures, without claiming that refs already written were rolled back. Valid native per-ref rejections retain their existing semantics. Signed and noncanonical request passthrough remains outside the merged report path.

Validation: reproduced truncation and failed-exit false successes before fixing them. All 958 library tests, 209 selected integration tests, the final 11 receive-pack planner tests, and strict all-target Clippy passed.

Assisted-by: GPT-6
2026-09-25 14:28:32 +00:00
..