Difference and Merge
Wing Pro provides single and multi-file difference and merge capabilities that can be used to compare files or directories on disk and to manage differences to an Integrated Version Control system.
To initiate a session, click on the Diff/Merge toolbar item or use the Difference and Merge sub-menu of the Source menu. You will be prompted for any file or directory names in a dialog or, for some keyboard personalities, in the status area at the bottom of the IDE window. Additional sessions can be started concurrently but only one session is current at a given time. The same menus can be used to switch among active Diff/Merge sessions, when there are two or more.
Once a session is started, the selected files will be displayed side by side, one annotated with A: and the other annotated with B:. Use the newly revealed toolbar items to move to the next or previous difference pair, to merge differences from one file into the other, or to terminate the session. Navigation and merging is also possible with the key bindings listed in the Difference and Merge sub-menu of the Source menu.
In addition, a summary listing all changes is available from the Diff/Merge icon displayed at the top right of editors in the active session. This includes line number, change summary, and Python scope name when applicable. Selecting a change from this menu will jump to it.
Session Types
The following types of Diff/Merge sessions are available:
Compare Files compares two selected files on disk.
Compare Directories compares two selected directories on disk. The Diff/Merge tool, which will be shown while the session is active, will display a list of files and estimated degree of difference in each file pair. Clicking on the list will display the first difference in the selected file pair. The selection on the list will also update as you move through the difference list.
Compare Visible Files compares the two visible editors. This is only available when two or more editor splits are shown and two different files are open in them. If three or more splits are shown, the files in the last two splits are compared.
Compare Buffer with Disk compares the current unsaved editor and its disk file. This is only available when the current file has unsaved edits.
Compare Recent provides a sub-menu for quick access to recently performed comparisons.
Compare to Repository can be used to compare the working copy of a file with the corresponding repository revision. This is only available if the file is checked into one of the version control systems that Wing Pro supports.
Options
The Difference and Merge sub-menu of the Source menu contains two items that control the behavior of Diff/Merge sessions:
Lock Scrolling keeps the scrolling position of the two files in the Diff/Merge session synchronized.
Ignore Whitespace ignores changes that consist solely of white space (space, tab, line feed, or carriage return characters).
These are also available in preferences, along with the following:
The Editor > Diff/Merge > Empty Session Warning preference chooses whether a warning should be shown if some changes were ignored because of the Ignore Whitespace setting.
The Editor > Diff/Merge > Orientation preference selects between side by side or top/bottom orientation of the two files shown during a Diff/Merge session.
The Editor > Diff/Merge > Diff Color and Editor > Diff/Merge > Merged Diff Color preference selects the color used in the Diff/Merge highlights on the editor.