Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Yet Another Git – Written in Haskell
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Git
.gitignore
README.md
Setup.hs
UNLICENSE
example.hs
yag.cabal
yag.hs

README.md

Yet Another Git Clone -- Written in Haskell

I write this mainly for educational purposes, to learn Haskell.

What it can:

  • Read lose objects from the .git/objects directory.
  • Parse git objects (using attoparsec).
  • Serialize objects (commit, blob and tag; tree not yet finished)
  • Revision parsing (like git rev-parse)
  • Gitdir discovery
  • Ref loading (only lose refs for now)

What's missing:

  • Error handling
  • Config file parser
  • Packfile reader/parser
  • Writing lose objects
  • Index (reading/writing/updating)
  • Porcelain (at least show and log would be useful)
  • Cleanup Lazy/Strict ByteString handling, BS <-> String conversions etc.
Something went wrong with that request. Please try again.