migrate-guard 0.1.0

Detect and auto-renumber colliding sqlx migration version numbers across git branches.
Documentation
use crate::model::Collision;

#[derive(Debug, thiserror::Error)]
pub enum GuardError {
    #[error("io: {0}")]
    Io(#[from] std::io::Error),
    #[error("git command `{cmd}` failed (status {status:?}): {stderr}")]
    Git {
        cmd: String,
        status: Option<i32>,
        stderr: String,
    },
    #[error("config: {0}")]
    Config(String),
    #[error("{} migration version collision(s) found", .0.len())]
    Collision(Vec<Collision>),
}

pub type Result<T> = std::result::Result<T, GuardError>;