From 623954d19fdf0dca47db319e5c88ee561aa8d25c Mon Sep 17 00:00:00 2001 From: Katharina Fey Date: Tue, 27 Oct 2020 15:15:23 +0100 Subject: Adding raw git repository utilities --- supergit/src/raw/mod.rs | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'supergit/src/raw/mod.rs') diff --git a/supergit/src/raw/mod.rs b/supergit/src/raw/mod.rs index 98602ca..7bf6c0a 100644 --- a/supergit/src/raw/mod.rs +++ b/supergit/src/raw/mod.rs @@ -3,13 +3,14 @@ mod branch_walk; mod tree_walk; +use crate::{Branch, BranchCommit}; use git2::{self, Repository}; -pub(crate) type RawResult = Result; +pub type RawResult = Result; /// An error abstraction for raw git operations #[derive(Debug)] -pub(crate) enum RawError { +pub enum RawError { AllBad, } @@ -19,24 +20,26 @@ impl From for RawError { } } +/// Represent a raw branch +pub struct RawBranch { + name: String, + head: String, +} + /// Wrap a libgit2 repository to provide an API fascade -pub(crate) struct RawRepository { +pub struct RawRepository { inner: Repository, } impl RawRepository { - pub(crate) fn open(path: &str) -> RawResult { + pub fn open(path: &str) -> RawResult { Ok(Self { inner: Repository::open(path)?, }) } - /// Sync the backing storage with the backing git repo - /// - /// This function can be invoked manually, but should be invoked - /// basically every time your program expects changes to have - /// happened. Polling this function is not recommended. - pub(crate) fn update(&self) -> RawResult<()> { - Ok(()) + /// Parse branch data from repository + pub fn parse_branches(&self) -> RawResult> { + todo!() } } -- cgit v1.2.3