aboutsummaryrefslogtreecommitdiff
path: root/apps/servers/octopus/supergit/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'apps/servers/octopus/supergit/src/lib.rs')
-rw-r--r--apps/servers/octopus/supergit/src/lib.rs24
1 files changed, 16 insertions, 8 deletions
diff --git a/apps/servers/octopus/supergit/src/lib.rs b/apps/servers/octopus/supergit/src/lib.rs
index e839ab635dd1..df30d996ebed 100644
--- a/apps/servers/octopus/supergit/src/lib.rs
+++ b/apps/servers/octopus/supergit/src/lib.rs
@@ -1,15 +1,20 @@
-//! Strongly typed git repository explorer library
+//! Read-only git repository explorer library.
//!
-//! This library exposes a read-only view into a git repository. To
-//! get started, open an existing bare repo, and then call `sync()` to
-//! build a cache of it. Every time you want your view of the repo to
-//! update, call `sync()` again. If you want the sync operation to be
-//! blocking, call `sync_blocking()` instead.
+//! 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, BranchCommit};
+pub use branch::{Branch, BranchIter, BranchCommit};
mod commit;
pub use commit::Commit;
@@ -18,8 +23,11 @@ mod diff;
pub use diff::Diff;
mod repo;
-pub use repo::Repository;
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};