1. evhan
  2. chicken-git


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: http://github.com/libgit2/.

Assuming you have that, installation should be straightforward:

$ git clone http://git.foldling.org/chicken-git.git
$ 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 http://wiki.call-cc.org/egg/git.


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.