Files
airship/packages/git
Nayan 3f193ac4f2 fix(git): canonicalize paths the same way @airship/core does
The windows-latest leg failed the two Codex-path tests with a null baseline,
and the cause was a second implementation of the same rule.

@airship/git had its own realpathSafe built on the JS realpathSync, while
core's canonicalPath used realpathSync.native for the Windows case-folding.
Those disagree on more than case: the JS version leaves an 8.3 short name
alone, so a repo under `C:\Users\RUNNER~1\…` stayed short here while
DiffCapture's keys came back as `C:\Users\runneradmin\…`. fileAtHead computes
`relative(root, path)` from the two, got a `..` path, and returned null for
every file — which on the Codex path means no baseline at all, so each edit
would render as a whole-file diff against nothing.

This is exactly the drift the ./paths module was added to end; it unified
core's four copies and left this fifth one. The rule now lives here, in the
lowest package that touches the filesystem, and core imports it. Deliberately
not re-exported from ./paths — one implementation, one import path, so there
is nowhere for a second copy to reappear.
2026-08-11 23:27:58 +05:30
..