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:
| Operation | Banner |
|---|---|
| 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."
| Button | What it does |
|---|---|
| Show conflicts | Switches to the Changes tab, where the Conflicted group lists the files. |
| Abort | Asks "Abort the operation?" and, if you confirm, puts the branch and files back as they were before it started. Conflicts you resolved are lost. |
| Skip | Rebase and cherry-pick only. "Leave this commit out and go on." |
| Continue operation | Opens 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:
| Button | Result |
|---|---|
| Keep ours | Our side only. |
| Keep theirs | Their side only. |
| Keep both | Both, ours first. |
| More › Keep both, theirs first | Both, theirs first. |
| More › Keep the base | The common ancestor's lines, when the conflict has a base. |
| More › Undo this choice | Back 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:
| Conflict | Choices |
|---|---|
| Deleted by us or deleted by them | Keep the changed file, or Delete the file. |
| Binary file | Keep ours, branch, or Keep theirs, branch. |
Free and Pro
Conflict resolution works the same on Free and Pro.