Module Pck

type 'uid commit = {
  1. root : 'uid;
  2. preds : 'uid list;
}
type none =
  1. | Leaf
type ('uid, 'preds) kind
val commit : ('uid, 'uid commit) kind
val tree : ('uid, 'uid list) kind
val blob : ('uid, none) kind
val tag : ('uid, 'uid) kind
type 'uid t
val make : kind:('uid, 'preds) kind -> 'preds -> ?ts:int64 -> 'uid -> 'uid t
val get_limits : compare:('uid -> 'uid -> int) -> ('uid * 'ref * bool) list -> ('uid, 'ref) Smart.Commands.command list -> 'uid list * 'uid list
val commands : 's Sigs.scheduler -> capabilities:Smart.Capability.t list -> equal:('ref -> 'ref -> bool) -> deref:('store -> 'ref -> ('uid option, 's) Sigs.io) -> 'store -> [ `Create of 'ref | `Delete of 'ref | `Update of 'ref * 'ref ] list -> ('uid * 'ref * bool) list -> (('uid, 'ref) Smart.Commands.t option, 's) Sigs.io
val get_uncommon_objects : 's Sigs.scheduler -> compare:('uid -> 'uid -> int) -> ('uid, 'ref, 'uid t, 'g, 's) Sigs.access -> ('uid, 'uid t, 'g) Sigs.store -> exclude:'uid list -> sources:'uid list -> ('uid list, 's) Sigs.io