migrate_guard/error.rs
1use crate::model::Collision;
2
3#[derive(Debug, thiserror::Error)]
4pub enum GuardError {
5 #[error("io: {0}")]
6 Io(#[from] std::io::Error),
7 #[error("git command `{cmd}` failed (status {status:?}): {stderr}")]
8 Git {
9 cmd: String,
10 status: Option<i32>,
11 stderr: String,
12 },
13 #[error("config: {0}")]
14 Config(String),
15 #[error("{} migration version collision(s) found", .0.len())]
16 Collision(Vec<Collision>),
17}
18
19pub type Result<T> = std::result::Result<T, GuardError>;