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 independent (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).

The API documentation is available online.

Build Status

Install
Published
09 Nov 2016
Sources
git-1.9.3.tbz
md5=07c7fc074023e794abb76806b176970d
Dependencies
nocrypto
with-test
camlzip
with-test & >= "1.06"
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
mtime
< "1.0.0"
lwt
>= "2.4.7"
uri
>= "1.3.12"
mstruct
>= "1.3.1"
cmdliner
< "1.0.0"
ocaml
>= "4.02.3"
Reverse Dependencies
datakit
< "0.11.0"
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"