We love Git at Hulu -- it's central to almost all software development here. RestfulGit was built to make it easier to build tools and processes that leverage data from our internal Git repositories. It provides a read-only restful web API for accessing low-level Git data. For compatibility, and to make it easier to build tools that can access both open-source hosted Git repos and internally hosted repos, the API was modeled off of the GitHub Git DB API
The API provides the following endpoints:
Retrieves a list of commit objects:
GET /repos/:repo_key/git/commits optional: ?start_sha=:sha optional: ?ref_name=:ref_name optional: ?limit=:limit (default=50)
Retrieves specific commit object:
Retrieves a specific blob object:
Retrieves a specific tree object:
Retrieves a list of refs:
Retrieves a specific ref:
Returns the raw file data for the file on the specified branch:
For more information on the currently supported features, see the read me. Of course, this project would not be possible without the many open-source projects it is built upon: Flask, pygit2, libgit2, and Python.
Find the source code on GitHub. Contributions welcome!