die() on basically any error)
and it has no stable or well-designed public API. As there is no good
way to link to this effectively, a new library was needed that fulfilled
these requirements. Thus libgit2.
libgit2 is still in early development, and although it's already quite feature complete, there are no official binary releases available yet. Interested early adopters must compile the library by hand -- which is easy enough to do.
Get the code at GitHubFor full API documentation see the generated docs or the usage guide.
$ mkdir build && cd build $ cmake ..
$ cmake --build .
$ ctest .
$ cmake --build . --target install
-lgit2.Rugged (previously known as Ribbit) is the reference binding implementation for libgit2, used to make sure the C API is sane and functional. Rugged is always in sync with the libgit2 master branch. It also has the best name for any Ruby project. Ever.
Get RuggedObjective-git is another set of reference bindings for libgit2. It's always in sync with the libgit2 master branch, well tested, and tastes like Cocoa.
Get objective-gitpygit2 are the Python 2.6+ bindings for libgit2 mantained by J. David Ibáñez. They make extensive use of common Python idioms, and also make programming Git applications fun again. They should be (mostly) up to date with the library changes.
libgit2sharp is a set of bindings for .NET, maintained by Emeric Fermas. They should be usable from any language that runs on the .NET runtime, including IronPython and IronRuby. How cool is that?
Get libgit2sharplibgit2 bindings for Delphi, maintained by Jason Penny
Get GitForDelphilibgit2 bindings for Node.js, maintained by samcday. It's like Git, but more asynchronous.
Get node-gittehlibgit2 bindings for C++, tweaked to interact with the Qt library. Maintained by Laszlo Papp.
Get libqgit2parrot-libgit2 are bindings to Parrot VM, which allows all languages running on Parrot access to the libgit2 API.
Get parrot-libgit2GObject bindings for libgit2 with support for GObject introspected languages like Python, javascript and vala
Get libgit2-glibHigh- and low-level bindings to libgit2 for Chicken Scheme.
Get chicken-gitThanks to the folks at Bundler for letting us steal their awesome CSS