Hasty Briefsbeta

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.