Skip to main content

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>;