clgit

Crates.ioclgit
lib.rsclgit
version0.1.1
sourcesrc
created_at2020-09-11 16:59:49.887454
updated_at2020-09-11 17:18:01.975215
descriptionCommand Line GIT wrappers
homepage
repositoryhttps://github.com/MaulingMonkey/clgit.git
max_upload_size
id287450
size61,591
(MaulingMonkey)

documentation

https://docs.rs/clgit/

README

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
Commit count: 9

cargo fmt