Skip to content

[WIP] Resolve MR conflicts from web interface.

Matthias Käppler requested to merge github/fork/cirosantilli/resolve into master

Created by: cirosantilli

Fixes AMR http://feedback.gitlab.com/forums/176466-general/suggestions/5590496-resolve-any-merge-request-conflict-from-the-web-in

When there are conflicts it shows:

screenshot from 2014-07-21 17 02 05 gitlab resolve here

Then under the conflicts URL, there is an AJAX tab like "Changes":

screenshot from 2014-07-21 17 23 40 gitlab resolve conflicts tab

When done, user clicks on the "Resolve conflicts and merge pull request" button at the bottom to finish.

Detail of one of the conflicts:

screenshot from 2014-07-21 17 26 13 gitlab resolve detail

For each conflict, user must select one of 4 radio boxes: ours, base, theirs, or custom.

ours, base and theirs will contain fixed values parsed directly from git checkout --conflict=diff3. Bytes that changed between ours and base and theirs and base are highlighted like in the diffs with idiff spans by Diffy.

custom will use the value of the textarea for a custom resolution. Its value defaults to ours which is a reasonable starting point for custom edits.

It is currently not possible to modify parts of the text outside of the conflict: one web UI workaround would be to leave them there, choose ours, merge the MR and only then those points by editing.

Tell me if the concept is OK so I can proceed do the backend.

Merge request reports