Fetch.Make
module Scheduler : Sigs.SCHED
module IO : Sigs.IO with type +'a t = 'a Scheduler.s
module Flow : Sigs.FLOW with type 'a fiber = 'a Scheduler.s
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