Comparing Binary Files

Merge binary comparisons provide a way to compare binary (typically non-text and non-image) data files. If you wish to see the differences between files at a byte level, this is the best type of comparison to use. Merge can interpret and display the bytes that make up the files in various ways to give, for example, a hexadecimal, decimal or floating-point view of the file data.

Information If you haven’t already, spending a few moments browsing the Instant Overview of File Comparison and Merging will help you quickly become familiar with Merge file comparisons.

Performing a comparison

You can open a new binary comparison window by selecting the FileNew Binary Comparison menu command.

A new binary comparison window

Two empty areas where the compared files will be displayed take up the majority of the window. Above each file pane is an entry field that you can use to enter the path to a file that you want to compare.

To compare two files, you can type the paths of two files into the entry fields or use the buttons on the right-hand end of the entry fields to choose files to compare.

The Browse Browse button button opens a file-browsing sheet and the History List History list button button displays a list of files that you have recently compared.

If there are other versions of the file named in the entry field available for comparison in an SCM system repository or in Time Machine, the Versions Versions button button displays a list of these other versions. If this button is not enabled, check the options set in the Versions preference page.

To perform the comparison once you have chosen the two files to compare, click the Start/Recompare Start/Recompare toolbar button button in the toolbar or press the Enter key when you have chosen two files to compare.

You can also drag and drop files from Finder onto the filename entry fields or onto the file panes.

The binary comparison display

Two sample files (test1.txt and test2.txt) are provided in the Merge installation directory. The following screenshot shows the results of a binary file comparison between these two files.

Results of comparing test1.txt and test2.txt

Changes between the two files are highlighted with colours and linking lines. Linking lines in the centre panel of the file comparison window connect related changes to show exactly how the files are related. You can modify the colours and fonts used in the comparison window by using the controls in the Fonts/Colours preferences page.

A summary of the number of changes that were found between the compared files is shown in the status bar at the bottom of the main Merge application window. The caret’s byte offset is also displayed.

Layout controls

You can use the n-Way Comparison (Side-By-Side) and n-Way Comparison (Stacked) commands in the Window menu to change the layout of the files within the file comparison window so that the compared files are displayed one above the other (stacked) or side-by-side (the default).

There are many options that you can set to customize how Merge compares and displays files. There are help topics that will enable you learn how to customize Merge so that it produces the best results for you.

Three-way file comparisons

In addition to two-way file comparison, the Professional Edition of Merge enables you to compare (and, for text files, merge) three files. Please see the Three-Way File Comparisons topic for more information. The Professional Edition also supports the automatic merging of text files.

Binary comparison controls

You can change how the binary comparison is performed and displayed using the controls in the strip along the bottom of the binary comparison window.

Columns

This control determines the number of columns of data elements shown in the file panels. A value of 0 or Auto will cause as many columns as will fit to be shown.

Display as

Use the values in this drop-down list to choose a display style for the data shown in the comparison. You can view the data in hexadecimal or decimal (big or little endian) or as floating point values. Some display values are only appropriate for certain choices in the Format drop-down (for example, displaying as Floating Point doesn’t make sense for a 8-bit integer format). The comparison display will show NaN (not a number) if the comparison format isn’t suitable for the selected Display as choice.

Show characters

When checked, another column is added to the binary comparison display showing the binary data interpreted as ASCII characters.

Format

Use this drop-down list to choose the size and type of data elements in the compared files. You can choose to format the data as 8, 16, 32 or 64-bit integers, or 32-bit or 64-bit floating point values. The default element size is 8 bits. Click the Recompare button to apply changes to this control.

Search size

The value contained within this control affects the amount of work Merge will perform in order to find a minimal set of changes between the compared files. Its effect is greater on large files. Smaller values typically result in quicker comparisons at the expense of accuracy; larger values result in slower comparisons with greater accuracy. Smaller search sizes will never miss a change, but might not therefore give you the best set of changes. Click the Recompare button to apply changes to this control.

Navigation

As you scroll one file up and down using its scroll bar, the other file is scrolled so that the two files remain aligned in the centre of the display. The centre point marker (a line of small indentations in the centre of the linking lines panel) indicates the point at which Merge tries to keep related parts of the files aligned. You can temporarily prevent Merge from keeping both files aligned by holding down the Ctrl+Cmd keys while scrolling. When you release Ctrl+Cmd, the files will snap back into alignment.

The small Previous Change and Next Change Previous/Next Change buttons buttons below the scroll bars can be used to jump to the previous or next change.

Overview strip There are thin overview strips next to the vertical scroll bars at the left and right edges of the file comparison window. These contain markings to indicate the position of changes within the compared files. You can quickly navigate to a change by clicking on the marks in the strip.

You can use the cursor keys to navigate within a file after clicking within it to give it keyboard focus. The following navigation shortcut keys are also available:

  • Cmd+< moves the editing cursor to the previous change.
  • Cmd+> moves the editing cursor to the next change.
  • Option+ and Option+ move the editing cursor left and right in word steps.
  • Home and End move the editing cursor to the beginning or end of the file.
  • Cmd+L displays a window that you can use to navigate to a specific line number.

For a full list of keyboard shortcuts, see Keyboard Shortcuts.

Mouse and touchpad navigation

You can use your mouse wheel or touchpad to scroll up and down within the active file.

Bookmarks and comments

As you are comparing or editing files, you might want to set bookmarks to enable you to return to locations of interest later on. Press Cmd+F2 to toggle a bookmark on or off on the current line. To navigate between bookmarks, press F2 or Shift+F2.

Comments can be added to bookmarks, making it easy to note important information or to record a question. To edit a bookmark’s comment, right-click the bookmark and choose the Edit Comment menu item. Bookmark comments are shown as tooltips when you hover the mouse pointer over a bookmark.

Information Bookmarks and comments are included when you create an HTML comparison report or save a comparison for archival or team collaboration. They are therefore a useful tool for asking questions or making notes in a comparison that will later be emailed to other team members for review.