git

Description

Please note that the libgit library is currently a moving target, under heavy development. This library has been written and tested against libgit2 0.15.0. If you encounter problems, check your versions.

Documentation

git provides an interface for reading & manipulating git repositories. The library is split into two modules, git and git-lolevel:

git-lolevel is essentially just the libgit2 API, thinly wrapped. Most of the function signatures remain the same, with a few exceptions:

Structures & pointers that would go on the stack are allocated automatically.

Return values are checked where appropriate, signaling an exception of type git when negative.

Pointer arrays are converted to rest arguments.

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

The following documentation applies to the git module.

Usage

(use git)

or

(use git-lolevel)

It's not recommended to mix the two without prefixing one or the other's imports, as the two libraries share many identifiers.