-
Notifications
You must be signed in to change notification settings - Fork 353
Structural Diffs
Most tree diff implementations focus on XML, and there's a great overview of techniques in this blog post.
Jane Street's patdiff implements a tree diff, using an A* algorithm.
prettydiff does really well out of the box with the sample files here. It implements LCS on words.
wu-diff doesn't have much documentation, but it gives the same results as other LCS implementations in Rust.
json-diff provides a proper structural diff for JSON files.
graphtage compares structured data by parsing into a generic file format, then displaying a diff. It finds the optimal edit sequence, and even allows things like diffing JSON against YAML.
sdiff and diff-sexp explore s-expression oriented diffs.
Autochrome is a structural diff for Clojure, using Dijkstra pathfinding.