Smart
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.
module Capability : sig ... end
Capabilities module.
module Advertised_refs : sig ... end
module Proto_request : sig ... end
module Want : sig ... end
module Have : sig ... end
module Result : sig ... end
module Negotiation : sig ... end
module Commands : sig ... end
module Status : sig ... end
module Shallow : sig ... end
type 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
]
val pp_error : error Fmt.t
module Context : sig ... end
val proto_request : Proto_request.t send
val negotiation_done : unit send
val flush : unit send
val commands : (string, string) Commands.t send
val send_pack : ?stateless:bool -> bool -> string send
val advertised_refs : (string, string) Advertised_refs.t recv
val recv_pack :
?push_stdout:(string -> unit) ->
?push_stderr:(string -> unit) ->
bool ->
[ `Payload of string * int * int | `End_of_transmission | `Stdout | `Stderr ]
recv
val recv_flush : unit recv
val recv_commands : (string, string) Commands.t option recv
val send_acks : string Negotiation.t list send
val recv_ack : string Negotiation.t recv
val packet : trim:bool -> string recv
val send_advertised_refs : (string, string) Advertised_refs.t send
val return : 'v -> ('v, 'err) t
val fail : 'err -> ('v, 'err) t
val error_msgf :
('a, Stdlib.Format.formatter, unit, ('b, [> `Msg of string ]) t)
Stdlib.format4 ->
'a