Skip to content

If merge results a conflict, this conflict is not shown in merge view

Bugzilla Link 487899
Status NEW
Importance P3 normal
Reported Feb 16, 2016 12:58 EDT
Modified Feb 16, 2016 12:59 EDT
Version 3.0.1
Reporter Dmitry Katsubo

Description

The problem is about the merge capability when the list of revisions to merge is given. Steps to reproduce:

  • Call "Team → Merge..." (Ctrl-Alt-E) on the project. Enter URL and set "Revisions" radio button group to "Revisions". Type revisions, e.g. "4,5" in my case.
  • Confirm the dialog by clicking on "OK".

Now suppose that revision 4 (in my example) causes the conflict, e.g. cannot be cleanly merged. It causes the following exception (attached):

Caused by: org.apache.subversion.javahl.ClientException: svn: E155015: One or more conflicts were produced while merging r3:4 into ...
Caused by: org.tmatesoft.svn.core.SVNException: svn: E155015: One or more conflicts were produced while merging r3:4 into ...
resolve all conflicts and rerun the merge to apply the remaining unmerged revisions

After that:

  • Eclipse stays in Synchronize "Merge" view, but no merging conflict is shown [WRONG, expected: the conflicted resource is in the view]
  • When I switch Synchronize view to all outgoing changes for workspace, I can see the conflicted resource. I right-click on that resource and choose "Mark as Merged". After then the resource is marked as merged, but appears as outgoing addition. [WRONG, expected that it is marked as outgoing change] As the result, attempt to commit the projects fails with SVN error "svn: E175005: File '.../conflicted.resource' already exists".

Additionally:

The user does not know at what point the merge had failed, e.g. he does not know that requested revision "5" was not applied. Expected that the message is shown that "Revisions 5,6,... are not merged. Please resolve the conflict and merge again" (the user can copy the unmerged revisions into clipboard to use further in "Merge..." dialog). This information is present in exception, but is difficult to capture.