git 1.0.2
Author | Thomas Gazagnaire | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
License | ISC | |||||||||||||||||||||||||||||||||||||||||||||||||
Maintainer | thomas@gazagnaire.org | |||||||||||||||||||||||||||||||||||||||||||||||||
Dependencies |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
OCaml | >= 4.01.0 | |||||||||||||||||||||||||||||||||||||||||||||||||
Published | May 1, 2014 | |||||||||||||||||||||||||||||||||||||||||||||||||
Source [http] |
https://github.com/mirage/ocaml-git/archive/1.0.2.tar.gz ffaeb8d323121a23710642f17b16d446 |
|||||||||||||||||||||||||||||||||||||||||||||||||
Edit | https://github.com/ocaml/opam-repository/tree/master/packages/git/git.1.0.2/opam |
Low-level Git bindings 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).