Rusty-git
=========
[](https://travis-ci.org/keirlawson/rusty-git)
[](https://crates.io/crates/rustygit)
[](https://docs.rs/rustygit)
A high-level library for interacting with `git`
## Usage
Add the following to your `cargo.toml`:
```toml
[dependencies]
rustygit = "0.4"
```
```rust
use rustygit;
let repo = rustygit::Repository::new(".");
let branches = repo.list_branches().unwrap();
println!("branches:");
for branch in branches {
println!("{}", branch);
}
```
## Comparison with [git2-rs](https://github.com/rust-lang/git2-rs)
Git2-rs is a mature and featureful Git library and unlike this library does not require that `git` be on the users $PATH.
This library does however have a few advantages over git2-rs:
* Pure Rust rather than bindings to a C++ library, making for easier cross-compilation.
* Works with git's SSH agent on Windows (libssh, which is used by git2-rs is unable to at present, making using SSH not possible on Windows)
* Provides a higher level API requiring less knowledge of Git internals