libgit: Simple Git Wrapper

[ bsd3, development, library ] [ Propose Tags ]

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


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.3.0, 0.3.1
Dependencies base (>=3 && <6), mtl, process [details]
License BSD-3-Clause
Copyright Vincent Hanquez <vincent@snarc.org>
Author Vincent Hanquez <vincent@snarc.org>
Maintainer Vincent Hanquez <vincent@snarc.org>
Category Development
Home page https://github.com/vincenthz/hs-libgit
Source repo head: git clone https://github.com/vincenthz/hs-libgit
Uploaded by VincentHanquez at 2015-05-14T08:51:06Z
Distributions
Reverse Dependencies 2 direct, 1 indirect [details]
Downloads 3243 total (14 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-05-14 [all 1 reports]

Readme for libgit-0.3.1

[back to package description]

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.

TODO

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