1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//! What:
//! The shadow repository and the replay of captured changes onto it.
//! Why:
//! Commit preparation works on a shadow,
//! so its helpers stay together.
//!
//! In TS you'd write (pseudocode):
//! ```ts
//! // shadow/index.ts: one `export * from './file'` per module below.
//! ```
/// Git commands run against a transaction's shadow repository.
/// Replay: the unified-diff parser of subsumption (`replay_patch`).
/// Replay: the exact strict reverse check of subsumption (`replay_reverse_apply`).
/// Replay: the one-sided extension of subsumption over zero-context hunks (`replay_containment`).
/// Replay: capture order over the landed first-parent history and the per-path decision (`replay_capture_order`).
/// Replay: the shadow-repository Git runner that every replay step uses (`replay_shadow`).
/// Replay: shared paths of the landed history and the prepared commit, with their three entries (`replay_shared_paths`).
/// Replay: the text half of subsumption over index-named blobs and hunks (`replay_subsumption_text`).
/// Replay: subsumption rules and the synthetic merge base (`replay_subsumption`).
/// Replay: the merge tree, the first conflicting landed commit, and the replayed commit rebuild (`replay_merge`).
/// The empty tree's object name under each known object format.
/// The shadow repository `config` file and the copied repository format.
/// The shadow repository links to the real shared entries.
/// The shadow ref store: snapshot, private target, symbolic refs and `HEAD`.
/// Creation of the shadow repository of one transaction.
/// The entries of an empty bare repository, created in-process instead of by `git init`.