#[derive(Clone, Debug, PartialEq, Eq, derive_more::Constructor, derive_more::Display)] #[display("{}", sha)] pub struct Commit { sha: Sha, message: Message, } impl Commit { pub const fn sha(&self) -> &Sha { &self.sha } pub const fn message(&self) -> &Message { &self.message } } #[derive(Clone, Debug, PartialEq, Eq, derive_more::Constructor, derive_more::Display)] pub struct Sha(String); #[derive(Clone, Debug, PartialEq, Eq, derive_more::Constructor, derive_more::Display)] pub struct Message(String); #[derive(Debug)] pub enum Status { Pass, Fail, Pending, } #[derive(Clone, Debug)] pub struct Histories { pub main: Vec, pub next: Vec, pub dev: Vec, } pub mod log { use derive_more::{Display, From}; pub type Result = core::result::Result; #[derive(Debug, Display, From)] pub enum Error { Gix(String), Lock, } impl std::error::Error for Error {} }