git

Git format and protocol in pure OCaml
Description

Support for on-disk and in-memory Git stores. Can read and write all the Git objects: the usual blobs, trees, commits and tags but also the pack files, pack indexes and the index file (where the staging area lives).

All the objects share a consistent API, and convenience functions are provided to manipulate the different objects. For instance, it is possible to make a pack file position independant (as the Zlib compression might change the relative offsets between the packed objects), to generate pack indexes from pack files, or to expand the filesystem of a given commit.

The library comes with a command-line tool called ogit which shares a similar interface with git, but where all operations are mapped to the API exposed ocaml-git (and hence using only OCaml code).

Install
Published
10 Jun 2014
Sources
1.2.0.tar.gz
md5=9d454b6303adc0ff6553f20c7db8f6ec
Dependencies
conduit
= "0.5.1"
cmdliner
< "1.0.0"
uri
>= "1.3.12"
core_kernel
>= "109.55.02"
camlzip
>= "1.05"
mstruct
>= "1.3.0"
dolog
>= "0.4" & <= "0.6"
ocaml
>= "4.01.0"
Reverse Dependencies
imaplet-lwt
< "0.1.3"
irmin
>= "0.8.2" & != "0.10.1" & < "0.11.1"
irmin-unix
< "0.9.9"
merge-queues
>= "0.2.0"
plotkicadsch
< "0.5.0"