git

AuthorThomas Gazagnaire
LicenseISC
Homepagehttps://github.com/mirage/ocaml-git
Issue Trackerhttps://github.com/mirage/ocaml-git/issues
Maintainerthomas@gazagnaire.org
Dependencies
&bin_prot
camlzip>= 1.05
cmdliner
comparelib
core_kernel>= 109.55.02
cryptokit
dolog>= 0.4&<= 0.6
lazy-trie
lwt
mstruct>= 1.3.0
ocamlbuild
ocamlgraph
re
sexplib
uri>= 1.3.12
Availableocaml-version >= "4.01.0"
PublishedMay 1, 2014
Source [http] https://github.com/mirage/ocaml-git/archive/1.0.2.tar.gz
ffaeb8d323121a23710642f17b16d446
StatisticsInstalled 2 times last month.
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/git/git.1.0.2/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).