diff options
Diffstat (limited to 'apps/servers/octopus/src/git/mod.rs')
-rw-r--r-- | apps/servers/octopus/src/git/mod.rs | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/apps/servers/octopus/src/git/mod.rs b/apps/servers/octopus/src/git/mod.rs deleted file mode 100644 index 244e2f45e6c5..000000000000 --- a/apps/servers/octopus/src/git/mod.rs +++ /dev/null @@ -1,58 +0,0 @@ -//! Wrappers for libgit2 - -pub mod log; -pub mod tree; - -use git2::{self, Repository}; -use log::CommitGraph; -use tree::Tree; - -/// A top-level wrapper API for all libgit2 functions -pub struct Repo { - inner: Repository, - commits: Option<CommitGraph>, - rev: Option<String>, -} - -impl Repo { - pub(crate) fn new(path: &str) -> Self { - Self { - inner: Repository::open(path).expect(&format!("`{}` is not a valid git repo", path)), - commits: None, - rev: None, - } - } - - pub(self) fn get_inner(&self) -> &Repository { - &self.inner - } - - pub(self) fn get_tree<'r>(&'r self, rev: &str) -> git2::Tree<'r> { - self.inner - .revparse_single(rev) - .unwrap() - .peel_to_tree() - .unwrap() - } - - pub(crate) fn clear_cache(&mut self) { - self.rev = None; - self.commits = None; - } - - /// Load and cache commits for a specific rev - pub(crate) fn load_commits(&mut self, rev: String) { - self.rev = Some(rev.clone()); - self.commits = Some(log::create_commit_log(rev, &self)); - } - - /// Load the tree of files for the current rev - /// - /// Will fail if no rev was previously cached - pub(crate) fn get_file_tree(&self) -> Tree { - tree::parse_tree( - self.get_tree(self.rev.as_ref().unwrap().as_str()), - self.get_inner(), - ) - } -} |