Expand description
This crate contains a rust wrapper for the Breezy API, which is written in Python.
Breezy itself is being ported to Rust, but until that port has completed, this crate allows access to the most important Breezy APIs via Rust.
The Rust API here will follow the Breezy 4.0 Rust API as much as possible, to make porting easier.
§Example
use breezyshim::branch::open as open_branch;
breezyshim::plugin::load_plugins();
let b = open_branch(&"https://code.launchpad.net/brz".parse().unwrap()).unwrap();
println!("Last revision: {:?}", b.last_revision());
Re-exports§
pub use branch::Branch;
pub use controldir::ControlDir;
pub use controldir::Prober;
pub use forge::get_forge;
pub use forge::Forge;
pub use forge::MergeProposal;
pub use forge::MergeProposalStatus;
pub use lock::Lock;
pub use revisionid::RevisionId;
pub use transport::get_transport;
pub use transport::Transport;
pub use tree::RevisionTree;
pub use tree::Tree;
pub use tree::WorkingTree;
pub use urlutils::join_segment_parameters;
pub use urlutils::split_segment_parameters;
pub use workspace::reset_tree;
Modules§
- bazaar
- Bazaar-specific functionality.
- branch
- Branches are the primary way to interact with the history of a project in Breezy.
- clean_
tree - commit
- config
- Configuration handling.
- controldir
- The
ControlDir
class provides a high-level interface to control directories, e.g. “.bzr” or “.git” directories. - cvs
- Support for detecting CVS repositories.
- darcs
- Darcs prober.
- delta
- Detection of changes between trees.
- diff
- Generation of unified diffs between trees.
- error
- Error handling for the Breezy Python bindings
- export
- Export a tree to a directory.
- foreign
- forge
- Code hosting services and merge proposals.
- fossil
- Support for detecting Fossil repositories.
- git
- Git version control system support.
- github
- Basic support for interacting with GitHub.
- gitlab
- Basic support for interacting with GitLab
- gpg
- GPG related functions and types.
- graph
- Graph traversal operations on revision graphs.
- hooks
- Hooks
- interrepository
- Operations between repositories.
- intertree
- Operations between two trees.
- launchpad
- Launchpad login and related functions
- location
- UI-layer location handling
- lock
- Locking of Breezy objects.
- mercurial
- Mercurial prober.
- merge
- Tree merging.
- osutils
- OS-specific utilities.
- patches
- Patching support for Breezy.
- plugin
- Plugin loading and management.
- rename_
map - Detect renames between two trees based on file contents.
- repository
- Repository handling
- revisionid
- Revision ID type and related functions.
- status
- Status reporting functions.
- subversion
- Subversion repository prober.
- tags
- Revision tags
- testing
- Test utilities for the Breezy Rust bindings.
- transform
- Tree transformation API.
- transport
- Transport module
- tree
- Trees
- ui
- UI Factory
- urlutils
- URL manipulation utilities.
- version
- Version information for the Breezy library.
- workingtree
- Working trees
- workspace
- Convenience functions for automated operations on a VCS tree