752996d
//! Unified error type, used by the impls.rs of every module.
/// The unified error type.
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("git object does not exist: {0}")]
NotExist(String),
#[error("branch does not exist: {0}")]
BranchNotExist(String),
#[error("tag does not exist: {0}")]
TagNotExist(String),
#[error("reference not found: {name}")]
NotFound { name: String },
#[error("invalid reference name: {0}")]
InvalidRefName(String),
#[error("invalid revision spec: {0}")]
InvalidRevSpec(String),
#[error("gix failed to open repository: {0}")]
Open(String),
#[error("gix object store error: {0}")]
Odb(String),
#[error("gix object lookup error: {0}")]
Find(String),
#[error("gix reference error: {0}")]
Ref(String),
#[error("gix revision parse error: {0}")]
RevParse(String),
#[error("serialization error: {0}")]
Serde(String),
#[error("I/O error: {0}")]
Io(String),
#[error("other error: {0}")]
Other(String),
}