ABDiff Help

Text Merge

A text merge combines changes from two versions of a file into a single editable result. A conflict occurs when two changes are incompatible and a decision is required.

Layout

This screen shows three versions of the same file.

Base

There is also a fourth version: the base, which is the original version both sides started from. This matches the three-way merge model from Git:

Local → Base ← Remote
          ↓
        Result

In ABDiff, the center pane can switch between Result and Base to help you understand what changed.

Conflict

A conflict happens when both sides modify the same lines differently. For example, the original value was blue, but now one side says green, and the other says red. Git cannot determine which change is correct, so it requires manual resolution.

Incompatible changes

This happens when two people edit the same lines concurrently. If the changes don’t overlap, Git merges them automatically. If they do, you have to resolve the conflict manually.

If you configured Git, ABDiff will launch when Git finds a conflict. The result area is left unresolved, and your task is to define its contents. You have three options:

Resolving a Conflict

To accept a result, right click a conflict block and choose Resolve with Ours or Resolve with Theirs.

Right click any row to see the actions available

To create your own result:

Tips:

Finishing

When you’re done, save the file (File ▸ Save or ⌘S). This tells Git the conflict has been resolved.

Or, if you don’t want to resolve the conflict, just close the file without saving.

Edit and Navigation

Action Shortcut
Previous / next row ↑ / ↓
Previous / next pane ← / →
Jump to first / last row ⌘↑ / ⌘↓
Previous change / next change ⌥↑ / ⌥↓
Previous / next hunk ⌥↑ / ⌥↓
Switch to other pane

Copy

Action Shortcut
Copy to right ⌘→
Copy to left ⌘←
Extend selection ⇧↑ / ⇧↓
Resolve with Ours ⇧⌘→
Resolve with Theirs ⇧⌘←

A selected line is shown with a gray rectangle. A hunk is a contiguous conflict/change block. Copy actions are enabled only when they would modify the Result pane and when selection is on a real line. Shift-click on a row also extends the current selection within the same pane.

To copy changes

All copy actions are undoable with ⌘Z.

Editing

Action Shortcut
Start editing selected Result row Return
Start editing a Result row directly Double-click row
Commit and move to next editable row Return (while editing)
Commit and exit edit mode Command-Return
Cancel current row buffer and exit edit mode Esc or Command-.

Editing can also be started by double-clicking a row. All edit actions are undoable with ⌘Z.

View Options

Text merge exposes options that change how the comparison is computed or displayed. These options are available from the options menu.

These settings affect matching and visualization; they do not directly edit files.