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
//! # `libvctrl_handler` – The Unshakeable Contract
//!
//! This crate **only** defines the fundamental traits, types, errors, and constants
//! for building a version control system. **No implementations are allowed here.**
//!
//! It is the single source of truth for the entire `libvctrl` ecosystem.
//! Every other component must depend on this crate and must never redefine
//! these fundamental contracts.
//!
//! ## Philosophy
//! - **Mechanism, not policy** – no assumptions about branches, workflows, or defaults.
//! - **Unbounded flexibility, high discipline** – everything is generic and replaceable,
//! but every input is strictly validated.
//! - **This crate is the constitution** – all fundamental traits, types, and errors
//! live exclusively here.
//!
//! ## Usage
//! ```rust
//! use libvctrl_handler::*;
//!
//! let hash = Hash::from_bytes(&[0u8; HASH_LENGTH]).unwrap();
//! let entry = TreeEntry::new("file.txt".into(), EntryKind::Blob, hash).unwrap();
//!
//! let err = VctrlError::Other(format!("something went wrong: {}", 42));
//! ```
/// Convenience macros for working with errors.
// Re-export fundamental items with explicit paths to avoid wildcard imports.
pub use ;
pub use EntryKind;
pub use VctrlError;
pub use ;
pub use ;