package git

  1. Overview
  2. Docs

Clone/Fecth/Push protocol

type protocol = [
  1. | `SSH
  2. | `Git
  3. | `Smart_HTTP
]

The type for the different Git protocols.

val protocol : Uri.t -> [ `Ok of protocol | `Not_supported of string | `Unknown ]

protocol uri is the Git protocol associated to uri.

type capability = [
  1. | `Multi_ack
  2. | `Thin_pack
  3. | `No_thin
  4. | `Side_band
  5. | `Side_band_64k
  6. | `Ofs_delta
  7. | `Shallow
  8. | `No_progress
  9. | `Include_tag
  10. | `Report_status
  11. | `Delete_refs
  12. | `Allow_reachable_sha1_in_want
  13. | `Agent of string
  14. | `Other of string
]
val pp_capability : capability Fmt.t

pp_capability it the pretty-printer for values of type pp_capability.

module Result : sig ... end
type want = [
  1. | `Ref of Reference.t
  2. | `Commit of Hash.Commit.t
]

The type for values wanted. See fetch for details.

val pp_want : want Fmt.t

pp_want is the pretty-printer for values of type want.

module type S = sig ... end

Constructor

module type IO = sig ... end

Channel abstraction.

module Make (IO : IO) (S : Store.S) : S with type t = S.t and type ctx = IO.ctx