clgit 0.1.1

Command Line GIT wrappers
Documentation
  • Coverage
  • 97.96%
    48 out of 49 items documented9 out of 17 items with examples
  • Size
  • Source code size: 61.06 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 6.58 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 12s Average build duration of successful builds.
  • all releases: 12s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • MaulingMonkey/clgit
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • MaulingMonkey

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