Libgit2 – The Git Linkable Library
9 days ago
- #library
- #git
- #version-control
- libgit2 is a portable, pure C implementation of Git core methods, provided as a linkable library.
- It is used in various applications, from GUI clients to hosting providers, and supports multiple programming languages through bindings.
- Licensed under GPLv2 with a Linking Exception, allowing use in any software without GPL restrictions.
- Supports a wide range of Git functionalities including SHA conversions, commit/tag/tree/blob parsing, tree traversal, and more.
- Building libgit2 requires CMake, Python, and a C compiler, with detailed instructions provided for different platforms.
- Optional dependencies include libraries for hash generation, threading, HTTPS, SSH, and Unicode support.
- Global state management is handled via `git_libgit2_init()` and `git_libgit2_shutdown()` functions.
- Detailed build options and configurations are available, including platform-specific instructions for macOS, iOS, Android, and MinGW.
- A comprehensive list of language bindings is provided, covering languages like C++, Python, Ruby, Rust, and more.
- Contribution guidelines and coding conventions are outlined for those interested in contributing to the project.