Implementation of smart protocol.
This module does not have any Git logics. It provides a light implementation of the Smart protocol to be able to fetch/pull or push with a Git server.
Sourcetype ('a, 'err) t = | Read of {buffer : bytes;off : int;len : int;k : int -> ('a, 'err) t;eof : unit -> ('a, 'err) t;
}| Write of {buffer : string;off : int;len : int;k : int -> ('a, 'err) t;
}| Return of 'a| Error of 'err
Sourcetype error = [ | `End_of_input| `Expected_char of char| `Unexpected_char of char| `Expected_string of string| `Expected_eol| `Expected_eol_or_space| `Unexpected_end_of_input| `No_enough_space| `Assert_predicate of char -> bool| `Invalid_advertised_ref of string| `Invalid_shallow of string| `Invalid_negotiation_result of string| `Invalid_side_band of string| `Invalid_ack of string| `Invalid_result of string| `Invalid_command_result of string| `Invalid_command of string| `Invalid_want of string| `Invalid_have of string| `No_enough_space| `Unexpected_pkt_line of string| `Unexpected_flush| `Invalid_pkt_line of string
] Sourceval send_pack : ?stateless:bool -> bool -> string send Sourceval recv_pack :
?push_stdout:(string -> unit) ->
?push_stderr:(string -> unit) ->
bool ->
[ `Payload of string * int * int | `End_of_transmission | `Stdout | `Stderr ]
recv Sourceval bind : ('a, 'err) t -> f:('a -> ('b, 'err) t) -> ('b, 'err) t Sourceval (let*) : ('a, 'err) t -> ('a -> ('b, 'err) t) -> ('b, 'err) t Sourceval (>>=) : ('a, 'err) t -> ('a -> ('b, 'err) t) -> ('b, 'err) t Sourceval return : 'v -> ('v, 'err) t Sourceval fail : 'err -> ('v, 'err) t Sourceval reword_error : ('err0 -> 'err1) -> ('v, 'err0) t -> ('v, 'err1) t Sourceval error_msgf :
('a, Stdlib.Format.formatter, unit, ('b, [> `Msg of string ]) t)
Stdlib.format4 ->
'a