BSD-3-Clause licensed and maintained by Vincent Hanquez
This version can be pinned in stack with:libgit-0.3.1@sha256:d8d94a5f9fb808b9ee41bd1c30368132d853fea0a7bcfede8ab78dd2342fd579,971

Module documentation for 0.3.1

Depends on 3 packages(full list with versions):

haskell libgit

Build Status BSD Haskell

hs-libgit is a haskell wrapper for git.

It provides lowlevel operations (list/cat object, ..) and some high level operation (commit, checkout, diff…). it requires the git binary available on the system.

Example usage, in ghci

Prelude>:m +Lib.Git Prelude Lib.Git> :m +System.Directory Prelude Lib.Git System.Directory> createDirectoryIfMissing True “/tmp/repodir” Prelude Lib.Git System.Directory> let cfg = makeConfig “/tmp/repodir” Nothing Prelude Lib.Git System.Directory> runGit cfg (initDB False)

You will now have an initialised git repo in /tmp/repodir.


  • clean the commit/tree parsing
  • make it more robust/better error checking
  • split modules into multiples files (lowlevel, monad, highlevel)