git

Author Thomas Gazagnaire
License ISC
Homepage https://github.com/mirage/ocaml-git
Issue Tracker https://github.com/mirage/ocaml-git/issues
Maintainer thomas@gazagnaire.org
Dependencies
& alcotest
astring
base-unix
camlzip >= 1.06
channel
cmdliner
cohttp
conduit
fmt
hex
logs
lwt >= 2.4.7
mirage-flow
mirage-fs-unix >= 1.1.4
mirage-http
mirage-types-lwt
mstruct >= 1.3.1
mtime
nocrypto
ocamlgraph
uri >= 1.3.12
Optional dependencies
| base-unix
camlzip
channel
cohttp
conduit
mirage-flow
mirage-http
mirage-types-lwt
nocrypto
Available ocaml-version >= "4.02.3"
Published Nov 9, 2016
Source [http] http://github.com/mirage/ocaml-git/releases/download/1.9.3/git-1.9.3.tbz
07c7fc074023e794abb76806b176970d
Statistics Installed 104 times in last month.
Edit https://github.com/ocaml/opam-repository/tree/master/packages/git/git.1.9.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 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

Necessary for
datakit
dog
git-unix
imaplet-lwt
>= 0.1.3
irmin
| & >= 0.9.0
0.10.1
& >= 0.11.0
0.11.1
irmin-unix
0.9.9
jitsu
merge-queues
>= 0.2.0
Optional for
irmin
>= 0.9.0