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
channel
cmdliner
cohttp
conduit
crc
dolog>= 1.0
hex
lwt>= 2.4.7
mirage-flow
mirage-fs-unix>= 1.1.4
mirage-http
mirage-types-lwt
mstruct>= 1.3.1
nocrypto
ocamlbuild
ocamlgraph
stringext
uri>= 1.3.12
Optional dependencies
|base-unix
camlzip
channel
cohttp
conduit
mirage-flow
mirage-http
mirage-types-lwt
nocrypto
Availableocaml-version >= "4.01.0"
PublishedAug 10, 2015
Source [http] https://github.com/mirage/ocaml-git/archive/1.7.1.tar.gz
841f766100a94879f85b6a69bc7442bc
StatisticsInstalled 2 times last month.
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/git/git.1.7.1/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).