GumTreeDiff is an open-source Java library and command-line tool for detecting changes between two versions of source code. It generates detailed diffs that include moved, updated, and deleted code.
GumTreeDiff is an open-source Java library and command-line tool for detecting changes between two versions of source code. It goes beyond line-based diffs to analyze the syntax trees of code files and identify structural differences, including:
By comparing abstract syntax trees, GumTreeDiff can match code even when it has been reformatted or when lines have moved around, providing insightful diffs. It outputs HTML-based reports highlighting the structural differences between the code versions in different colors.
GumTreeDiff can be used as a library integrated into Java applications or through the command-line interface. It supports diffing common programming languages like Java, C, Python, and others. Key features include configurable matching algorithms, command-line options to filter diffs, and ant-based integration.
Overall, GumTreeDiff helps developers quickly understand how source code has changed over time at a structural level beyond line-by-line diffs. It is released under the MIT open-source license.
Here are some alternatives to GumTreeDiff:
Suggest an alternative ❐