Hi Vincent, great stuff!
I've also got an in-progress toy git clone called ght: http://github.com/kfish/ght. It only reads, no write support and no revspec parsing. I tried to keep close to the git design, using mmap and Ptr-based binary search to read pack indices etc. Doing so seems fairly un-Haskelly but turned out surprisingly neat, what with Haskell being the world's finest imperative programming language and all. Conrad. On 5 October 2011 05:15, Vincent Hanquez <[email protected]> wrote: > Hi Haskellers, > > I just want to announce the hit project [1], which is a reimplementation of > low level git operations to read *AND* write to a git repository. It support > reading from anything i threw at it (loose objects, packed objects, deltas), > a subset of revisions specifier (man gitrevisions), and writing new objects > (blob, tree, commit, tag). > > I don't necessarily want to re-implement git itself (although patches > welcome if someone want to go in this direction), and as such the project is > a bit of a toy to investigate git storage (for another project of mine) and > superseeding my own libgit project (for yet another project). Yet it should > be completely functional and have good performance. > > A few word of the implementation: it's very IO based at the moment; The way > things are done by git, doesn't necessarily cope with pure and nice stuff if > performance need to follow. That said it should still be easier to > understand than reading the git source :-) > > Any comments welcome, > > [1] http://hackage.haskell.org/package/hit/ > > -- > Vincent > > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
