Module Git.Reference

type t

The Git Reference module.

val of_string : string -> ( t, [> `Msg of string ] ) Stdlib.result
val v : string -> t
val add_seg : t -> string -> t
val append : t -> t -> t
val segs : t -> string list
val pp : t Fmt.t
val head : t
val master : t
val main : t
val (/) : t -> string -> t
val (//) : t -> t -> t
val to_string : t -> string
val equal : t -> t -> bool
val compare : t -> t -> int
module Map : Stdlib.Map.S with type key = t
module Set : Stdlib.Set.S with type elt = t
type 'uid contents =
| Uid of 'uid
| Ref of t
val equal_contents : equal:( 'uid -> 'uid -> bool ) -> 'uid contents -> 'uid contents -> bool
val compare_contents : compare:( 'uid -> 'uid -> int ) -> 'uid contents -> 'uid contents -> int
val pp_contents : pp:'uid Fmt.t -> 'uid contents Fmt.t
val uid : 'uid -> 'uid contents
val ref : t -> 'uid contents
module Packed : sig ... end
type ('t, 'uid, 'error, 's) store = {
atomic_wr : 't -> t -> string -> ( ( unit, 'error ) Stdlib.result, 's ) Carton.io;
atomic_rd : 't -> t -> ( ( string, 'error ) Stdlib.result, 's ) Carton.io;
uid_of_hex : string -> 'uid option;
uid_to_hex : 'uid -> string;
packed : 'uid Packed.packed;
}
val resolve : 's Carton.scheduler -> 't -> ( 't, 'uid, 'error, 's ) store -> t -> ( ( 'uid, [> `Not_found of t | `Cycle ] ) Stdlib.result, 's ) Carton.io
val write : 's Carton.scheduler -> 't -> ( 't, 'uid, 'error, 's ) store -> t -> 'uid contents -> ( ( unit, [> `Store of 'error ] ) Stdlib.result, 's ) Carton.io
val read : 's Carton.scheduler -> 't -> ( 't, 'uid, 'error, 's ) store -> t -> ( ( 'uid contents, [> `Not_found of t ] ) Stdlib.result, 's ) Carton.io
module type S = sig ... end