aboutsummaryrefslogtreecommitdiff
path: root/apps/servers/octopus/supergit/src/lib.rs
blob: df30d996ebeda2a8013a059d06ca3496567f814a (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
//! 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`](), and enumerating
//! or fetching [`Branch`]()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.

mod branch;
pub use branch::{Branch, BranchIter, BranchCommit};

mod commit;
pub use commit::Commit;

mod diff;
pub use diff::Diff;

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

mod files;
pub use files::{File, FileTree};

use async_std::sync::{Arc, RwLock};
use std::sync::atomic::{AtomicUsize, Ordering};