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