grex-core 1.2.4

Core library for grex, the nested meta-repo manager: manifest, lockfile, scheduler, pack model, plugin traits.
Documentation
//! Pack-tree walker.
//!
//! Integrates the manifest parser (`pack`), the pluggable validator
//! framework (`pack::validate`), and the git backend (`git`) into a single
//! surface:
//!
//! 1. Load a root `pack.yaml` via a [`PackLoader`].
//! 2. For each `children:` entry, clone (or fetch + optionally checkout)
//!    via a [`crate::git::GitBackend`] and recurse into its manifest.
//! 3. Record `depends_on` references as graph edges (no walk).
//! 4. Return an immutable [`PackGraph`].
//!
//! Cycle detection runs during the walk; post-hoc graph validators live
//! under [`crate::pack::validate`] and run on the assembled graph.
//!
//! This module adds no new crate dependencies beyond those already pulled
//! in by slices 1–3.

pub mod consent;
pub mod dest_class;
pub mod error;
pub mod graph;
pub mod graph_build;
pub mod loader;
pub mod ls;
pub mod quarantine;
pub mod walker;

pub use consent::{phase2_prune, recursive_consent_walk, ConsentResult};
pub use dest_class::{aggregate_untracked, classify_dest, git_in_progress_at, DestClass};
pub use error::TreeError;
pub use graph::{EdgeKind, PackEdge, PackGraph, PackNode};
pub use graph_build::build_graph;
pub use loader::{FsPackLoader, PackLoader};
pub use ls::{build_ls_tree, LsNode, LsNodeError, LsTree};
pub use quarantine::{snapshot_then_rm, QuarantineConfig, QuarantineError, QuarantineResult};
pub use walker::{
    dest_has_git_repo, sync_meta, synthesize_plain_git_manifest, SyncMetaOptions, SyncMetaReport,
    Walker,
};