GitNexus/gitnexus/test
Gergo Magyar 416af2a8f6 fix(storage): never follow a symlinked checkout .gitnexus (#3374)
A checkout whose `.gitnexus` is a symlink (e.g. `.gitnexus -> ..`) made
the shared-store pointer helpers operate on whatever it pointed at:
findLegacyLocalIndex listed the target as a "legacy index", so
`clean --local-index --force` recursively deleted the checkout's
siblings; writeSharedStorePointer wrote store.json/.gitignore there; and
removeSharedStorePointer deleted store.json there and could rm -r the
target directory.

All four now go through probePointerDir, which lstats `.gitnexus` and
accepts it only when it is a real directory whose realpath is
realpath(checkout)/.gitnexus (mirroring stale-branch-slots.ts). Anything
else is left untouched: no legacy index is reported or removed, and no
pointer is written or removed. removeLegacyLocalIndex re-probes after
sizing, just before its delete loop.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 06:38:26 +00:00
..
fixtures fix(swift): resolve nested constructors in extensions (#3308) 2026-09-19 09:46:53 +01:00
helpers refactor(analyze): move detected-branch sanitization off CLI config (#3325) 2026-09-18 11:03:24 +01:00
integration fix(storage): never follow a symlinked checkout .gitnexus (#3374) 2026-09-25 06:38:26 +00:00
unit feat(storage): share the index store between clones automatically (#3352) 2026-09-24 21:43:48 +00:00
utils feat(storage): add configurable index storage and content retention tiers (#3060) 2026-09-12 20:31:55 +00:00