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
Sources
1.4.10.tar.gz
md5=c8065e2bb292fafb262fa2ae7ca8fd28
Dependencies
cstruct
< "3.2.0"
conduit
with-test
cohttp
with-test
mirage-types-lwt
with-test & < "3.7.0"
ounit
with-test
alcotest
with-test
lwt
>= "2.4.7"
uri
>= "1.3.12"
nocrypto
>= "0.2.0"
camlzip
>= "1.05"
dolog
>= "1.0" & < "4.0.0"
mstruct
>= "1.3.1"
ocaml
>= "4.01.0" & < "4.06.0"
Reverse Dependencies
imaplet-lwt
>= "0.1.3" & < "0.1.10"
irmin
>= "0.9.0" & != "0.10.1" & < "0.11.1"
irmin-unix
< "0.9.9"
merge-queues
>= "0.2.0"
plotkicadsch
< "0.5.0"