radicle_surf/lib.rs
1//! `radicle-surf` is a library to help users explore a Git repository with
2//! ease. It supports browsing a repository via the concept of files and
3//! directories, or via blobs and trees in a git fashion. With the additional
4//! support of [`diff::Diff`] and [`History`], this library can be used to build
5//! an intuitive UI for any Git repository.
6//!
7//! The main entry point of the library API is [`Repository`].
8//!
9//! Let's start surfing!
10//!
11//! ## Serialization with feature `serde`
12//!
13//! Many types in this crate support serialization using [`Serde`][serde]
14//! through the `serde` feature flag for this crate.
15//!
16//! [serde]: https://crates.io/crates/serde
17
18extern crate radicle_git_ext as git_ext;
19
20/// Re-exports.
21pub use radicle_git_ext::ref_format;
22
23/// Represents an object id in Git. Re-exported from `radicle-git-ext`.
24pub type Oid = radicle_git_ext::Oid;
25
26pub mod blob;
27pub mod diff;
28pub mod fs;
29pub mod tree;
30
31/// Private modules with their public types.
32mod repo;
33pub use repo::Repository;
34
35mod glob;
36pub use glob::Glob;
37
38mod history;
39pub use history::History;
40
41mod branch;
42pub use branch::{Branch, Local, Remote};
43
44mod tag;
45pub use tag::Tag;
46
47mod commit;
48pub use commit::{Author, Commit, Time};
49
50mod namespace;
51pub use namespace::Namespace;
52
53mod stats;
54pub use stats::Stats;
55
56mod revision;
57pub use revision::{Revision, Signature, ToCommit};
58
59mod refs;
60
61mod error;
62pub use error::Error;