Resolve Merge conflicts in editor
What does this MR do?
This is the second iteration of https://gitlab.com/gitlab-org/gitlab-ce/issues/20344 which now allows to resolve conflicts manually providing an editor to the user.
Are there points in the code the reviewer needs to double check?
- Previous implementation has been refactored almost from the ground up.
- Also some components like
parallel-conflict-lines
has been optimized to work well with PhantomJS. - The app and files required files are loaded only when needed.
merge_conflicts_bundle.js
is only loaded in/<group>/<project>/merge_requests/<Id>/conflicts
only
Why was this MR needed?
Some MRs were unable to be solved interactively in the UI, with this MR we let the user to manually fix complex merge request conflicts.
Screenshots (if relevant)

Does this MR meet the acceptance criteria?
-
CHANGELOG entry added -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if you do - rebase it please) -
Squashed related commits together
What are the relevant issue numbers?
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/20344, https://gitlab.com/gitlab-org/gitlab-ce/issues/3567.
Merge request reports
Activity
Mentioned in merge request !6150 (closed)
Would be nice if you can start to review it @jschatz1 /cc @fatihacet
@alfredo1 I checked out to your branch and this is what I see right now. It's because this MR is still WIP or something is wrong on my branch?
@fatihacet that's ok. I have to change the textarea for an Ace Editor instance. I'll finish it today :) I don't think it will change the current code drastically though.
@alfredo1 If you are aware of it that's okay. I just want to make sure that it's not because of my local.
Added 1 commit:
- 1b570963 - Replace textarea with Ace editor
Added 191 commits:
-
1b570963...b94de5fd - 178 commits from branch
master
- 3b45b2cc - Add instrumentation to conflict classes
- 2add8fdb - Allow setting content for resolutions
- be4adc9c - Make RuboCop happy
- ca2c34a0 - Fix specs
- 7e1cf626 - Fix MR model spec
- 8a69d9f9 - Fix resolve service specs
- b23df748 - Add JSON Schema
- 766724b1 - Simplify conflict file JSON creation
- 3b77e551 - Implement editor to manually resolve merge conflicts
- ef972d0b - Replace textarea with Ace editor
- f09bb1f5 - Styles for discard alert
- e39631eb - Style for resolve conflicts form
- 462dc022 - Replace loading text with spinner
Toggle commit list-
1b570963...b94de5fd - 178 commits from branch
@jschatz1 This is complete. and ready for review, would be nice if you can review the JS meanwhile I fix tests and add some other.
- Resolved by Alfredo Sumaran
- Resolved by Alfredo Sumaran
- Resolved by Alfredo Sumaran
- Resolved by Alfredo Sumaran
- Resolved by Alfredo Sumaran
- Resolved by Alfredo Sumaran
- Resolved by Alfredo Sumaran
- Resolved by Alfredo Sumaran
- Resolved by Alfredo Sumaran
- Resolved by Jacob Schatz