libgit2: a Git Linkable Library
One of the long running issues with Git is that the library produced to run the binary is not re-entrant – you can’t link to it from another program because…
One of the long running issues with Git is that the library produced to run the binary is not re-entrant – you can’t link to it from another program because it calls die()
all over the place. Thus, anyone trying to write a GUI or web interface or script for Git has always had to fork/exec a call to the actual Git binary, which is slow and often a poor API (having to parse the text output).
A few years ago Shawn Pearce started a new Git library designed and licensed to be linkable and called it libgit2. This was a great idea, but nobody really ran with it and not much was done on it for several years. Fortunately this year a student choose it for their Google Summer of Code project and for better or worse got me as their mentor.
Well, that student did an amazing job taking the library from being basically unusable to being incredibly useful. His name is Vicent Marti and GitHub has taken over where the GSoC organization left off and has contracted Vicent to continue his great work on libgit2 and its Ruby bindings, the Rugged library.
The projects are still in a bit of flux, but there is quite a lot you can do now and there are bindings for Python in addition to Ruby. If you are interested in using it for something and have any features you would like to see, add an issue to our GitHub project. You can read more about libgit2 at its new website: libgit2.github.com.
A little about Vicent: Vicent Marti is a 20 year old developer born and raised in the Catalan Countries. He is currently working towards his Masters Degree in Computer Science while living in Helsinki (Finland) and trying to cope with the fact that water comes in shapes and forms other than “liquid; in the Mediterranean”. When he’s not working on anything related to indie videogames, he enjoys evangelizing about Git and being an asshole about it.
Written by
Related posts

Explore the best of GitHub Universe: 9 spaces built to spark creativity, connection, and joy
See what’s happening at Universe 2025, from experimental dev tools and career coaching to community-powered spaces. Save $400 on your pass with Early Bird pricing.

Agents panel: Launch Copilot coding agent tasks anywhere on GitHub
Delegate coding tasks to Copilot and track progress wherever you are on GitHub. Copilot works in the background, creates a pull request, and tags you for review when finished.

Q1 2025 Innovation Graph update: Bar chart races, data visualization on the rise, and key research
Discover the latest trends and insights on public software development activity on GitHub with the quarterly release of data for the Innovation Graph, updated through March 2025.