aboutsummaryrefslogtreecommitdiff
path: root/apps/servers/octopus/supergit/src/lib.rs
blob: e7414c2862a723787762b889691ed2888374fcc6 (plain)
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
//! Read-only git repository explorer library.
//!
//! This library provides a more Rustic interface for libgit2, built
//! on the `git2` bindings.  If you want more low-level access to your
//! repository, consider using that library instead.
//!
//! supergit aims to make queries into a git repo as typed and easy as
//! possible.  Start by creating a
//! [`Repository`](struct.Repository.html), and enumerating or
//! fetching [`Branch`](struct.Branch.html)es that you are interested
//! in.
//!
//! Unlike `libgit2`, this library can resolve reverse dependencies
//! between files, and their commit history.  Some of these functions
//! are very computationally intensive, and will be marked with their
//! runtime cost.

pub mod branch;

mod commit;
pub use commit::Commit;

mod diff;
pub use diff::Diff;

mod repo;
pub(crate) use repo::HashId;
pub use repo::Repository;

pub mod files;

/// Contains all core functions and types in supergit
pub mod prelude {
    pub use crate::branch::{Branch, BranchIter};
    pub use crate::files::{EntryType, Explorer, TreeEntry};
    pub use crate::{Commit, Diff, Repository};
}