Crate git_repository[−][src]
Expand description
This crate provides the Repository
abstraction which serves as a hub into all the functionality of git.
It’s powerful and won’t sacrifice performance while still increasing convenience compared to using the sub-crates individually. Sometimes it may hide complexity under the assumption that the performance difference doesn’t matter for all but the fewest tools out there, which would be using the underlying crates directly or file an issue.
The prelude and extensions
With use git_repository::prelude::*
you should be ready to go as it pulls in various extension traits to make functionality
available on objects that may use it.
The method signatures are still complex and may require various arguments for configuration and cache control.
Easy-Mode
Most extensions to existing objects provide an obj_with_extension.easy(&repo).an_easier_version_of_a_method()
or easy(&repo)
method to hide all complex arguments and sacrifice some performance for a lot of convenience.
When starting out, use easy(…)
and migrate to the more detailed method signatures to squeeze out more performance.
Cargo-features
One-stop-shop
To make using sub-crates easier these are re-exported into the root of this crate.
git_repository::
Re-exports
pub use git_actor as actor;
pub use git_diff as diff;
pub use git_hash as hash;
pub use git_object as object;
pub use git_odb as odb;
pub use git_protocol as protocol;
pub use git_ref as refs;
pub use git_tempfile as tempfile;
pub use git_traverse as traverse;
pub use git_url as url;
pub use path::Path;
Modules
Process-global interrupt handling
Run computations in parallel, or not based the parallel
feature toggle.
Various prodash
types along with various utilities for comfort.
Structs
Enums
Traits
A trait for describing hierarchical process.