The Diff Tools consist of a set of morphs designed to present differences between versions of methods in a presentable manner. Generally two methods are presented side-by-side with highlighting, by lines, additions, removals and changes.
Where there is a change, further highlighting is employed to identify the changes within the affected lines.
The change detection is based on the existing TextDiffBuilder and, as such, can sometimes take a more than a few seconds to identify the differences.
The Diff Tools integrate with the "compare to current" option in the standard method versions browser and also with Monticello.
For Monticello, changes between package versions are presented with a class/method tree to the left, selection of an entry will display the two versions with difference highlighting. Additionally, when merging, menu options are available to choose whether incoming or existing versions are to be selected in the merge process.
Future enhancements will include "intra-method" selection of code-pieces when performing a merge operation along with free-form editing of a proposed method before the actual merge takes place.
Via dev Universe:
Can be found in the User Interface category as "Diff Tools".
Via SqueakSource/Monticello:
Load Pinesoft-Geometry, Pinesoft-EventEnhancements and Pinesoft-Tools-Diff, in addition to the general UI Enhancements described here: Polymorph (was UI Enhancements).