package git

  1. Overview
  2. Docs
Git format and protocol in pure OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

git-3.16.1.tbz
sha256=c035bdcccd9e4d2f48c6d9cdc65e61fc10838ecf1d8a6f2a376ae20a8a924803
sha512=8173b5f64ad2e142aa6bd7a1c5b7d895a9e3fbf90b192d8021a32abb9430b62dd426d4b9b5856698fbae1a1bca2c30a22c270f6d361874c3d846533320ca51ea

doc/neg/Neg/index.html

Module NegSource

Negotiation engine used to fetch objects from a Git repository.

This implementation does not have any Git logics or how to store properly a Git object. However, it implements the negotiation engine used to fetch objects from a Git repository.

Finally, it needs fews primitives to properly receive Git objects from the state of a local Git repository:

  • exists which tells to us if an object exists or not.
  • parents to get parents of a commit.
  • deref to de-reference a given reference.
  • locals to get locals references of the Git repository.

The user must give to us a light store which is able to keep some mutable values used by the negotiation engine.

find_common talks directly to the remote Git repository.

Sourcetype configuration = {
  1. stateless : bool;
  2. mutable multi_ack : [ `None | `Some | `Detailed ];
  3. no_done : bool;
}
Sourcetype 'uid hex = {
  1. to_hex : 'uid -> string;
  2. of_hex : string -> 'uid;
  3. compare : 'uid -> 'uid -> int;
}
Sourcetype 'uid negotiator
Sourceval make : compare:('uid -> 'uid -> int) -> 'uid negotiator
Sourceval find_common : 's Sigs.scheduler -> ('flow, 'error, 's) Sigs.flow -> 'flow -> configuration -> 'uid hex -> ('uid, 'ref, 'uid * int Stdlib.ref * int64, 'g, 's) Sigs.access -> ('uid, 'uid * int Stdlib.ref * int64, 'g) Sigs.store -> 'uid negotiator -> Smart.Context.t -> ?deepen:[ `Depth of int | `Timestamp of int64 ] -> 'uid list -> ([ `Continue of int | `Close ], 's) Sigs.io
Sourceval tips : 's Sigs.scheduler -> ('uid, 'ref, 'uid * int Stdlib.ref * int64, 'g, 's) Sigs.access -> ('uid, 'uid * int Stdlib.ref * int64, 'g) Sigs.store -> 'uid negotiator -> (unit, 's) Sigs.io
OCaml

Innovation. Community. Security.