Reuse list-for-push advertisement in remote helper push

main

Commit

pjbgf2mo ago

The entire:// remote helper re-fetched the receive-pack ref advertisement in handlePush instead of reusing the one from "list for-push". Git snapshots remote refs at list-for-push, then runs the pre-push hook (which pushes per-checkpoint refs), then issues push. The fresh advertisement then included the checkpoint ref, so "git send-pack --helper-status" reported error <ref> no match for it, and Git — not finding it in its snapshot — warned helper reported unexpected status of <ref> (ENCLI-267).

Cache the receive-pack advertisement once per helper session and replay it to push, mirroring remote-curl.c's discovery cache (get_refs). Only the for-push advertisement is cached; upload-pack/v2 fetches pass through, so fetch behavior is unchanged.

Assisted-by: Claude Opus 4.8 noreply@anthropic.com Signed-off-by: Paulo Gomes paulo@entire.io Entire-Checkpoint: 01KXDVRYFPR782QQDYBFEJ2S57

Checkpoints

Fix Remote Helper Push Ref Advertisement

Claude CodeOpus 4.8[1m]
View session
Checkpoint 1