The libgit package

[Tags: bsd3, library]

Simple git wrapper to access common git functions in a simple haskell way.


[Skip to ReadMe]

Properties

Versions0.1.0, 0.3.0, 0.3.1
Change logNone available
Dependenciesbase (>=3 && <6), mtl, process [details]
LicenseBSD3
CopyrightVincent Hanquez <vincent@snarc.org>
AuthorVincent Hanquez <vincent@snarc.org>
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
CategoryDevelopment
Home pagehttp://github.com/vincenthz/hs-tls
Source repositoryhead: git clone git://github.com/vincenthz/hs-libgit
UploadedTue Mar 29 06:17:36 UTC 2011 by VincentHanquez
DistributionsLTSHaskell:0.3.1, NixOS:0.3.1, Stackage:0.3.1
Downloads594 total (39 in last 30 days)
Votes
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for libgit-0.3.0

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)