Module Push.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 push : ?uses_git_transport:bool -> capabilities:Smart.Capability.t list -> [ `Create of Ref.t | `Delete of Ref.t | `Update of Ref.t * Ref.t ] list -> host:string -> string -> Flow.t -> (Uid.t, Uid.t Pck.t, 'git) Sigs.store -> (Uid.t, Ref.t, Uid.t Pck.t, 'git, Scheduler.t) Sigs.access -> configuration -> (Uid.t list -> unit -> string option IO.t) -> unit IO.t