git_policy_cli/repair/mod.rs
1//! What:
2//! Package-manager and toolchain repair after a worktree is created.
3//! Why:
4//! Repair runs after worktree creation and has its own report.
5//!
6//! In TS you'd write (pseudocode):
7//! ```ts
8//! // repair/index.ts: one `export * from './file'` per module below.
9//! ```
10
11/// Starting one package-manager program for a worktree repair: finding it, running it with a limit, saying how it ended.
12#[cfg(target_os = "linux")]
13pub mod package_repair_command;
14
15/// What a worktree repair prints: one line for success, one plain line per repair that could not finish.
16#[cfg(target_os = "linux")]
17pub mod package_repair_report;
18
19/// Cloning one directory tree with its modes, times and links, for the build state Cargo keeps outside a worktree.
20#[cfg(target_os = "linux")]
21pub mod package_repair_tree_clone;
22
23/// The pnpm repair of a new worktree: relink the copied `node_modules` offline against the frozen lockfile.
24#[cfg(target_os = "linux")]
25pub mod package_repair_pnpm;
26
27/// The Cargo repair of a new worktree: clone external build state, then clean the worktree's own crates.
28#[cfg(target_os = "linux")]
29pub mod package_repair_cargo;
30
31/// The toolchain repair of a new worktree: rebuild the links and launchers that name another checkout's lock.
32#[cfg(target_os = "linux")]
33pub mod package_repair_toolchain;
34
35/// The repair of a new worktree's package-manager state after a rung filled it and the ignored files were copied.
36#[cfg(target_os = "linux")]
37pub mod package_repair;