Conflicts

When a merge, rebase, cherry-pick or revert stops on a conflict, Mergepond opens the Changes tab with a banner for the paused operation and lists the conflicted files. Each file opens in a resolver where you choose a side per conflict, or edit the file yourself and mark it resolved.

Where to find it

  • The banner appears on its own above the Changes tab when an operation pauses.
  • Changes tab › Conflicted lists the files.
  • Command palette › In progress: Continue the operation, Skip, Abort the operation, Show N conflicted files.

The operation banner

The banner names the operation and where it stands:

OperationBanner
Merge"Merging branch into current"
Rebase"Rebasing onto base, step n of m: summary"
Cherry-pick"Cherry-picking commit onto current"
Revert"Reverting commit on current"

Below it a status: "N files still have conflicts.", "Every conflict is resolved.", "Ready to continue.", or, after an edit step in an interactive rebase, "Stopped so you can edit this commit. Change it, then continue."

ButtonWhat it does
Show conflictsSwitches to the Changes tab, where the Conflicted group lists the files.
AbortAsks "Abort the operation?" and, if you confirm, puts the branch and files back as they were before it started. Conflicts you resolved are lost.
SkipRebase and cherry-pick only. "Leave this commit out and go on."
Continue operationOpens the Continue sheet. Disabled while files are still conflicted: "Resolve N conflicted files first, then continue."

The Continue sheet is headed "Continue the operation" with the message that goes on the merge commit (or the commit being replayed). ⌘⏎ confirms. When it finishes, a toast reads "Finished the operation." with Undo.

The conflict resolver

Select a conflicted file and the resolver replaces the diff. Its header reads "N conflicts, N chosen" with a segmented control:

  • Choose shows each conflict with both sides side by side, labelled "Ours: branch" and "Theirs: branch". Unchanged lines between conflicts are folded: "Show N unchanged lines".
  • Result shows the file as it will be written.

For each conflict:

ButtonResult
Keep oursOur side only.
Keep theirsTheir side only.
Keep bothBoth, ours first.
More › Keep both, theirs firstBoth, theirs first.
More › Keep the baseThe common ancestor's lines, when the conflict has a base.
More › Undo this choiceBack to unresolved.

A chosen conflict is labelled "Kept ours", "Kept theirs", "Kept both, ours first", "Kept both, theirs first" or "Kept the base".

The footer reads "Every conflict has a choice." or "Choose a side for N more conflicts." and has two buttons:

  • Resolve file writes the result and stages the file. Enabled once every conflict has a choice.
  • Mark resolved, for when "You edited the file yourself and removed the conflict markers" in your editor; it stages the file as it is on disk and confirms with "Marked path resolved and staged it."

Whole-file conflicts

Some conflicts aren't about lines:

ConflictChoices
Deleted by us or deleted by themKeep the changed file, or Delete the file.
Binary fileKeep ours, branch, or Keep theirs, branch.

Free and Pro

Conflict resolution works the same on Free and Pro.