git-next/crates/git/src/commit.rs

48 lines
1,000 B
Rust
Raw Normal View History

#[derive(Clone, Debug, PartialEq, Eq, derive_more::Constructor, derive_more::Display)]
2024-05-14 16:28:17 +01:00
#[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<Commit>,
pub next: Vec<Commit>,
pub dev: Vec<Commit>,
}
pub mod log {
use derive_more::{Display, From};
pub type Result<T> = core::result::Result<T, Error>;
#[derive(Debug, Display, From)]
pub enum Error {
Gix(String),
Lock,
}
impl std::error::Error for Error {}
}