2024-06-20 19:03:11 +01:00
|
|
|
use config::newtype;
|
|
|
|
use derive_more::Display;
|
2024-05-25 11:25:13 +01:00
|
|
|
//
|
|
|
|
use git_next_config as config;
|
|
|
|
|
2024-06-20 19:03:11 +01:00
|
|
|
#[derive(
|
|
|
|
Clone,
|
|
|
|
Debug,
|
|
|
|
Hash,
|
|
|
|
PartialEq,
|
|
|
|
Eq,
|
|
|
|
PartialOrd,
|
|
|
|
Ord,
|
|
|
|
derive_more::Constructor,
|
|
|
|
derive_more::Display,
|
|
|
|
)]
|
2024-05-14 16:28:17 +01:00
|
|
|
#[display("{}", sha)]
|
2024-05-11 19:46:20 +01:00
|
|
|
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
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-05-25 11:25:13 +01:00
|
|
|
impl From<config::webhook::Push> for Commit {
|
|
|
|
fn from(value: config::webhook::Push) -> Self {
|
|
|
|
Self::new(
|
|
|
|
Sha::new(value.sha().to_owned()),
|
|
|
|
Message::new(value.message().to_owned()),
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-07-06 19:55:39 +01:00
|
|
|
newtype!(Sha: String, Display, Hash,PartialOrd, Ord: "The unique SHA for a git commit.");
|
|
|
|
newtype!(Message: String, Hash, PartialOrd, Ord: "The commit message for a git commit.");
|
2024-05-23 08:30:58 +01:00
|
|
|
|
|
|
|
#[derive(Clone, Debug)]
|
|
|
|
pub struct Histories {
|
|
|
|
pub main: Vec<Commit>,
|
|
|
|
pub next: Vec<Commit>,
|
|
|
|
pub dev: Vec<Commit>,
|
|
|
|
}
|
2024-05-24 08:47:34 +01:00
|
|
|
|
|
|
|
pub mod log {
|
|
|
|
|
2024-06-09 10:21:09 +01:00
|
|
|
use git_next_config as config;
|
|
|
|
|
2024-05-26 08:35:45 +01:00
|
|
|
pub type Result<T> = core::result::Result<T, Error>;
|
|
|
|
|
2024-06-03 08:04:48 +01:00
|
|
|
#[derive(Debug, thiserror::Error)]
|
2024-05-24 08:47:34 +01:00
|
|
|
pub enum Error {
|
2024-06-09 10:21:09 +01:00
|
|
|
#[error("branch: {branch}, error: {error}")]
|
|
|
|
Gix {
|
|
|
|
branch: config::BranchName,
|
|
|
|
error: String,
|
|
|
|
},
|
2024-06-03 08:04:48 +01:00
|
|
|
|
|
|
|
#[error("lock")]
|
2024-05-24 08:47:34 +01:00
|
|
|
Lock,
|
|
|
|
}
|
|
|
|
}
|