//! Raw representation wrappers for libgit2 use git2::{self, Repository}; pub(crate) type RawResult = Result; /// An error abstraction for raw git operations #[derive(Debug)] pub(crate) enum RawError { AllBad, } impl From for RawError { fn from(_: git2::Error) -> Self { Self::AllBad } } /// Wrap a libgit2 repository to provide an API fascade pub(crate) struct RawRepository { inner: Repository, } impl RawRepository { pub(crate) 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(()) } }