Expand description
Migration of a prepared commit’s shadow objects into a kept pack of the real store.
What:
Migration of a prepared commit’s shadow-only objects into the real store as one pack,
optionally kept by a .keep file naming the transaction.
Why:
The real target may name the commit only after the compare-and-swap, so its objects must be
in the real store first, and the keep stops prune or repack from removing them mid-landing
(src/policy-engine/commit-landing-objects.ts).
In TS you’d write (pseudocode):
await migrateShadowObjects({ gitPath, cwd, shadowPath, newOid, oldBase, keepMessage });Functions§
- migrate_
shadow_ objects - What:
Packs the commit’s objects that the shadow holds and the real store lacks,
and indexes the pack into the real store.
Why:
pack-objects --localleaves out objects reached through the shadow’s alternates, so the pack carries only what the landing introduces.