Module Value.Tree

type perm = [
| `Commit
| `Dir
| `Everybody
| `Exec
| `Normal
]
type entry = private {
perm : perm;
name : string;
node : Hash.t;
}
val pp_entry : entry Fmt.t
val entry : string -> perm -> Hash.t -> entry
type t
val remove : name:string -> t -> t
val add : t -> entry -> t
val is_empty : t -> bool
val perm_of_string : string -> perm
val string_of_perm : perm -> string
module MakeMeta : functor (Meta : Encore.Meta.S) -> sig ... end
module A : sig ... end
module M : sig ... end
module D : sig ... end
module E : sig ... end
val digest : t -> Hash.t
val pp : t Fmt.t
val compare : t -> t -> int
val hash : t -> int
val equal : t -> t -> bool
module Set : sig ... end
module Map : sig ... end
val length : t -> int64
val hashes : t -> Hash.t list
val to_list : t -> entry list
val of_list : entry list -> t
val iter : (entry -> unit) -> t -> unit