-
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.
A Jane Street intern built a tree differ using an A* algorithm.
This compares two s-expressions and builds a minimal new one with the new section marked with :date-switch
.
(Jane Street also has patdiff, but that seems to be a line-oriented diff with some whitespace/integer display polish).
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. It does not track moves.