2 releases

0.1.1 Sep 11, 2020
0.1.0 Sep 11, 2020

#1686 in Filesystem


Used in vfs-clgit

Apache-2.0 OR MIT

48KB
664 lines

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

License

Licensed under either of

at your option.

Contribution

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

No runtime deps