Expand description
Decoupled git backend surface used by the pack walker and exec path.
Pack children reference git remotes (url, path, ref — see
.omne/cfg/pack-spec.md §children). The walker needs to clone, fetch, and
checkout these remotes; the exec path pins commits. Every one of those
callers goes through the GitBackend trait rather than the gix crate
directly, so:
- tests can substitute an in-memory mock
- a future IPC or CLI-shell backend can plug in without rewriting callers
- backend-specific error types stay out of the public API (see
error::GitErrorwhich usesStringdetail fields)
The default implementation, GixBackend, wraps the pure-Rust gix
crate. Auth is the gix default: system SSH keys and anonymous HTTPS.
Credential prompting, SSH-agent integration, shallow clones, submodules,
and concurrent-fetch coordination are all out of scope for this slice
and will land in later M3 slices.
Re-exports§
pub use self::error::GitError;pub use self::gix_backend::GixBackend;
Modules§
- error
- Error taxonomy for the
crate::gitbackend. - gix_
backend GitBackendimplementation backed by thegixcrate (pure-Rust git).
Structs§
- Cloned
Repo - Result of a successful clone.
Traits§
- GitBackend
- Stable surface for all git operations grex needs.