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 =
  1. | Uid of 'uid
  2. | 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 = {
  1. atomic_wr : 't -> t -> string -> ((unit, 'error) Stdlib.result, 's) Carton.io;
  2. atomic_rd : 't -> t -> ((string, 'error) Stdlib.result, 's) Carton.io;
  3. uid_of_hex : string -> 'uid option;
  4. uid_to_hex : 'uid -> string;
  5. 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