chicken-git /

Filename Size Date modified Message
20 B
1.4 KB
9 B
1.2 KB
4.0 KB
202 B
53.4 KB
2.8 KB
47.4 KB
5.1 KB
66.0 KB


libgit2 bindings for CHICKEN Scheme.


Obviously, libgit2 is required:

Assuming you have that, installation should be straightforward:

$ git clone
$ cd chicken-git
$ chicken-install -test

This extension requires libgit2 >= 0.23.0 and CHICKEN >= 4.8.0.


The library is split into two modules, git and libgit2:

  • libgit2 is essentially just the libgit2 API, thinly wrapped. Most of the function signatures remain the same, with two exceptions:

  • Memory for out parameters and other structures that would typically go on the stack is allocated automatically.

  • Return values are checked where appropriate, signaling an exception of type (exn git) when nonzero.

  • git is a higher-level interface around libgit2, providing record types for each libgit2 structure.

Documentation is available at


Some functionality is not yet provided, such as custom backends, remotes and reflog inspection. Of course, patches are more than welcome.



BSD. See LICENSE for details.