57 lines
1.9 KiB
Rust
57 lines
1.9 KiB
Rust
//! This module re-exports selected items from the [`git2`] crate and provides
|
|
//! an extension trait for its [`git2::Error`] type to more conveniently handle
|
|
//! errors associated with the code [`git2::ErrorCode::NotFound`].
|
|
//!
|
|
// Re-exports created by manually scanning the `heartwood` workspace on 2025-10-04.
|
|
|
|
// Re-exports that are only used within this crate.
|
|
pub(crate) use git2::{
|
|
AutotagOption, Blob, FetchOptions, FetchPrune, Object, Revwalk, Sort, message_trailers_strs,
|
|
};
|
|
|
|
#[cfg(unix)]
|
|
pub(crate) use git2::Config;
|
|
|
|
// Re-exports that are only used within this crate for testing.
|
|
#[cfg(any(test, feature = "test"))]
|
|
pub(crate) use git2::RemoteCallbacks;
|
|
|
|
// Re-exports that are used by other crates in the workspace, including this crate.
|
|
pub use git2::{
|
|
Branch, BranchType, Commit, Direction, Error, ErrorClass, ErrorCode, FileMode, ObjectType, Oid,
|
|
Reference, Remote, Repository, RepositoryInitOptions, RepositoryOpenFlags, Signature, Time,
|
|
Tree,
|
|
};
|
|
|
|
// Re-exports that are used by other crates in the workspace, but *not* this crate.
|
|
pub use git2::{
|
|
AnnotatedCommit, Diff, DiffFindOptions, DiffOptions, DiffStats, MergeAnalysis, MergeOptions,
|
|
};
|
|
|
|
pub mod build {
|
|
// Re-exports for `radicle-cli`.
|
|
pub use git2::build::CheckoutBuilder;
|
|
|
|
#[cfg(test)]
|
|
pub(crate) use git2::build::TreeUpdateBuilder;
|
|
}
|
|
|
|
pub(crate) mod transport {
|
|
pub use git2::transport::{
|
|
Service, SmartSubtransport, SmartSubtransportStream, Transport, register,
|
|
};
|
|
}
|
|
|
|
/// An extension trait for [`git2::Error`] to more conveniently handle
|
|
/// errors with the code [`git2::ErrorCode::NotFound`].
|
|
pub trait ErrorExt {
|
|
/// Returns `true` if the error associated with this error is [`git2::ErrorCode::NotFound`].
|
|
fn is_not_found(&self) -> bool;
|
|
}
|
|
|
|
impl ErrorExt for git2::Error {
|
|
fn is_not_found(&self) -> bool {
|
|
self.code() == git2::ErrorCode::NotFound
|
|
}
|
|
}
|