package plebeia

  1. Overview
  2. Docs

Module Internal.EdiffSource

Bud and leaf based diff.

Sourcetype t =
  1. | ModLeaf of Plebeia__.Node.node * Plebeia__.Node.node * Segment.Segs.t
  2. | CleanBud of Plebeia__.Node.node * Segment.Segs.t
  3. | Del of Plebeia__.Node.node * Segment.Segs.t
  4. | CopyBud of Segment.Segs.t * Plebeia__.Node.node * Segment.Segs.t
  5. | NewEmptyBud of Plebeia__.Node.node * Segment.Segs.t
  6. | CopyLeaf of Segment.Segs.t * Plebeia__.Node.node * Segment.Segs.t
  7. | NewLeaf of Plebeia__.Node.node * Segment.Segs.t
  8. | SmallLeaf of Plebeia__.Node.node * Segment.Segs.t
Sourceval pp : Format.formatter -> t -> unit

Pretty printing

Sourceval apply : Plebeia__.Cursor.cursor -> t -> Plebeia__.Cursor.cursor

Application of a diff

Sourceval diff : Plebeia__.Context.t -> Plebeia__.Node.node -> Plebeia__.Node.node -> t list

diff src dst gets the segment based diff between 2 nodes

Sourceval 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.

Sourceval 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.

OCaml

Innovation. Community. Security.