Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
haskell wrapper for git
Haskell
branch: master

This branch is 10 commits behind vincenthz:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Lib
.gitignore
LICENSE
README
Setup.hs
libgit.cabal

README

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.

when time permit, the wrapper will be made as a binding on top of libgit2.

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. 

TODO:
- clean the commit/tree parsing
- make it more robust/better error checking
- split modules into multiples files (lowlevel, monad, highlevel)
Something went wrong with that request. Please try again.