git

AuthorThomas Gazagnaire
LicenseISC
Homepagehttps://github.com/mirage/ocaml-git
Issue Trackerhttps://github.com/mirage/ocaml-git/issues
Maintainerthomas@gazagnaire.org
Dependencies
&alcotest
base-unix
camlzip>= 1.05
channel
cmdliner
cohttp
conduit
dolog>= 1.0
hex
lwt>= 2.4.7
mirage-flow
mirage-fs-unix1.1.4
mirage-http
mirage-types-lwt
mstruct>= 1.3.1
nocrypto>= 0.2.0
ocamlbuild
ocamlgraph
uri>= 1.3.12
Optional dependencies
|base-unix
channel
cohttp
conduit
mirage-flow
mirage-http
mirage-types-lwt
Availableocaml-version >= "4.01.0"
PublishedJul 10, 2015
Source [http] https://github.com/mirage/ocaml-git/archive/1.5.3.tar.gz
24d7dda1ee03aa90f2a6c362e42160c9
StatisticsNot installed in the last month.
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/git/git.1.5.3/opam

Git format and protocol in pure OCaml

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