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
Authors
Maintainers
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"
Conflicts
cstruct > "3.1.1"
mirage-flow > "1.1.0"
nocrypto < "0.2.0"
camlzip < "1.06"
alcotest < "0.4.0"
conduit >= "0.99"
conduit < "0.8.4" | >= "3.0.0"
cohttp >= "0.99.0"
cohttp < "0.19.1"