clgit 0.1.1

Command Line GIT wrappers
Documentation

clgit: Command Line GIT wrappers

GitHub crates.io docs.rs %23![forbid(unsafe_code)] rust: 1.32.0 License Build Status

Pros

Cons

  • Requires a git installation
  • Extra overhead from constantly spawning new processes
  • Leaner API

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Alternative: git2 / libgit2-sys / libgit2

Links: github, docs.rs, crates.io

Pros

  • git2 is much more widely used/vetted/tested
  • git2 is higher performance, probably
  • No need to separately install git

Cons

  • !Sync
  • libgit2-sys has annoying OpenSSL dev dependencies on linux to build
  • libgit2's license is complicated and GPL-laden
  • Multiple crates pulling in different versions of libgit2-sys will cause build conflicts requiring upstream patches
  • Unsafe-laden FFI makes me nervous
  • Reading git repositories with an old libgit2 created by a newer git command line sounds like version mismatch incompatability bugs waiting to happen.
  • May not fully integrate with any custom git hooks you may have setup