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
//! # panproto-vcs
//!
//! Schematic version control for panproto.
//!
//! This crate implements a git-like version control system for schema
//! evolution. Schemas are content-addressed objects stored in a commit
//! DAG, with branches, merge (via colimit/pushout), and data lifting
//! through history.
//!
//! ## Architecture
//!
//! - **Object store**: [`hash`], [`object`], [`store`], [`fs_store`], [`mem_store`]
//! - **Refs + DAG**: [`refs`], [`dag`], [`blame`], [`bisect`]
//! - **Staging + commit**: [`index`], [`auto_mig`], [`status`]
//! - **Merge + rewrite**: [`merge`], [`rebase`], [`cherry_pick`], [`reset`], [`stash`]
//! - **Orchestration**: [`repo`] (composes all of the above), [`gc`]
//!
//! ## Quick Start
//!
//! ```rust
//! use panproto_vcs::{MemStore, ObjectId, Object, Store, HeadState};
//!
//! let mut store = MemStore::new();
//! assert_eq!(store.get_head().unwrap(), HeadState::Branch("main".into()));
//! ```
// Re-exports for convenience.
pub use VcsError;
pub use FsStore;
pub use ObjectId;
pub use Index;
pub use MemStore;
pub use ;
pub use ;
pub use ;