mirror of
https://github.com/pnpm/pnpm.git
synced 2026-07-21 05:02:30 -04:00
The carve-out that kept git-hosted tarballs on gitHostedStoreIndexKey even when the lockfile carried integrity made the writer disagree with every other reader: pkg-finder, store status, the FUSE mounter, and rebuild --skip-if-has-side-effects-cache all derive the index path from storeIndexKey(integrity, pkgId). Lockfile entries with integrity would silently miss the cached package and side-effects builds would re-run (potentially landing under a second key). Drop the carve-out and use the integrity-based key consistently. First install after upgrading still re-fetches once (the old store entry is under the gitHosted key), but the cafs deduplicates the underlying file content, and subsequent installs reuse the entry like every other tarball. --- Written by an agent (Claude Code, claude-opus-4-7).