CL-Git is an interface to the C library libgit2. The API is an almost complete exposure of the underlying library.
License LLGPL
This is the HTML documentation, but there is also, pdf
and info
The source is available on SourceHut.
GIT> (resolve
(get-object 'reference "HEAD"
(open-repository
(merge-pathnames #p"projects/lisp/cl-git"
(user-homedir-pathname)))))
#<COMMIT 276EE31DD4F35E49AEB7C7FCFB8094D557A25AD1 {100817E383}>
(#<REFERENCE refs/heads/master {100817C403}> #<REFERENCE HEAD {100817C0C3}>)
GIT> (tree-directory (commit-tree *))
(#<TREE-BLOB .gitignore (weak) {100A8A1E73}>
#<TREE-BLOB AUTHORS (weak) {100A8A3E33}>
#<TREE-BLOB CHANGELOG (weak) {100A8A5483}>
...)
Documentation#
Topic Areas
Low Level