git is a reimplementation of git storage and protocol in pure haskell.
What it does do:
- read loose objects, and packed objects.
- write new loose objects
- git like operations available: commit, cat-file, verify-pack, rev-list, ls-tree.
- diff between commits
What is doesn’t do:
- reimplement the whole of git.
- checkout’s index reading/writing, fetching, merging, diffing.