Expand description
Replay: the shadow-repository Git runner that every replay step uses (replay_shadow).
What:
Running real Git against the shadow repository for replay:
the shadow selection, an optional private index, bytes on standard input,
and the caller’s kept global options when a signed rebuild needs them.
Why:
Every replay step runs in git --git-dir=<shadow> so its objects stay in the shadow store
until the next migration;
one runner keeps the selection in one place.
In TS you’d write (pseudocode):
runShadowGit({ gitPath, shadowPath, args, input, environment });Functions§
- replay_
base_ index - What: The private index file a replay step edits, named by the replay number. Why: Each replay keeps its own index under the transaction directory, so a later replay never reads an earlier one.
- run_
shadow_ checked - What:
Runs one shadow Git command and requires success.
Why:
Replay cannot continue after a failed
merge-base,hash-objectorread-tree; the caller maps the failure totransaction-failed.