git

Git format and protocol in pure OCaml
Overview Documentation
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
11 Aug 2015
Sources
1.7.1.tar.gz
md5=841f766100a94879f85b6a69bc7442bc
Dependencies
nocrypto
with-test
camlzip
with-test
base-unix
with-test
conduit
with-test
cohttp
with-test
mirage-fs-unix
with-test & >= "1.1.4"
channel
with-test
mirage-flow
with-test & < "2.0.0"
mirage-http
with-test
mirage-types-lwt
with-test & < "3.7.0"
alcotest
with-test
crc
<= "1.0.0"
lwt
>= "2.4.7"
uri
>= "1.3.12"
dolog
>= "1.0" & < "4.0.0"
mstruct
>= "1.3.1"
cmdliner
< "1.0.0"
ocaml
>= "4.01.0" & < "4.06.0"
Reverse Dependencies
git-unix
< "1.10.0"
imaplet-lwt
>= "0.1.3"
irmin
>= "0.9.0" & != "0.10.1" & < "0.11.1"
irmin-unix
< "0.9.9"
merge-queues
>= "0.2.0"
plotkicadsch
< "0.5.0"