Module type Sync.S

Sync interface used by backend-specific Git implementations such as Mem and Git_unix

type hash
type store
type error = private [>
  1. | Mimic.error
  2. | `Exn of exn
]
val pp_error : error Fmt.t
val fetch : ?push_stdout:(string -> unit) -> ?push_stderr:(string -> unit) -> ?threads:int -> ctx:Mimic.ctx -> Smart_git.Endpoint.t -> store -> ?version:[> `V1 ] -> ?capabilities:Smart.Capability.t list -> ?deepen:[ `Depth of int | `Timestamp of int64 ] -> [ `All | `Some of (Reference.t * Reference.t) list | `None ] -> ((hash * (Reference.t * hash) list) option, error) Stdlib.result Lwt.t
val push : ctx:Mimic.ctx -> Smart_git.Endpoint.t -> store -> ?version:[> `V1 ] -> ?capabilities:Smart.Capability.t list -> [ `Create of Reference.t | `Delete of Reference.t | `Update of Reference.t * Reference.t ] list -> (unit, error) Stdlib.result Lwt.t