plebeia

Merkle Patricia tree implementation
Library plebeia
Module Plebeia . Internal . Ediff
type t
val pp : Plebeia__Utils.Format.formatter -> t -> unit

Pretty printing

val apply : Plebeia__Cursor.cursor -> t -> Plebeia__Cursor.cursor

Application of a diff

val diff : Plebeia__Context.t -> Plebeia__Node.node -> Plebeia__Node.node -> t list

diff src dst gets the segment based diff between 2 nodes

val check : t list -> Plebeia__Context.t -> Plebeia__Node.node -> Plebeia__Node.node -> unit

check diffs context n1 n2 checks the correctness of diffs between n1 n2 by applying them to n1 and comparing the hashes of the application result and n2.

If hashes are not equal, it prints an error message and raises Assert_failure.

n2 must be already hashed.

val expand_bud_deletions : Plebeia__Context.t -> t -> t list

Each directory removal is converted to file removals

It is "pseudo" since information of CleanBud is lost.