checkpoint: migrate through the resolving ref spelling
Commit
refBase now returns the tip of a ref stored under its case-folded shard
spelling, but migrate built its ref name with raw RefName. On a ref that
only resolves folded โ after git packed it โ the CAS took expected
from the folded tip and applied it to the canonical name, which holds
nothing, so git refused the update and the migration failed its retries.
The already-imported branch had the matching defect: it enqueued a name
that cannot push.
Routing migrate's ref name through writeRefName fixes all three sites at once, including the ErrObjectNotFound retry branch's Reference lookup.
Refs #2402
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com Entire-Checkpoint: 01M2JVRW9HR0VK1Y8R0JTMMZER