Module Fetch.Make

Parameters

module IO : Sigs.IO with type +'a t = 'a Scheduler.s
module Flow : Sigs.FLOW with type 'a fiber = 'a Scheduler.s
module Uid : Sigs.UID
module Ref : Sigs.REF

Signature

val fetch_v1 : ?uses_git_transport:bool -> ?push_stdout:(string -> unit) -> ?push_stderr:(string -> unit) -> capabilities:Smart.Capability.t list -> ?deepen:[ `Depth of int | `Timestamp of int64 ] -> ?want:[ `All | `Some of Ref.t list | `None ] -> host:string -> string -> Flow.t -> (Uid.t, Uid.t * int Stdlib.ref * int64, 'g) Sigs.store -> (Uid.t, _, Uid.t * int Stdlib.ref * int64, 'g, Scheduler.t) Sigs.access -> configuration -> ((string * int * int) -> unit IO.t) -> (Ref.t * Uid.t) list IO.t