MercurialEclipse is not handling Merge Conflicts properly
Created originally on Bitbucket by jstrong611 (John Strong)
I posted a similar Merge issue a few days ago; I will attempt to remove that and replace with this. I am elevating to "Critical" (arguably could be "Blocker") because current behavior is making version control via MercurialEclipse - when a Merge Conflict occurs - useless. And unlike my prior post, this is no longer one PC working and the other failing... now BOTH PC's are failing to Merge properly when even a trivial Merge Conflict is spotted in a file.
Causing the Failure:
I have (virtually) identical Eclipse installs on two PC's. In a test file, I am making a trivial change in that file on one line (happens to be a commented line) on PC1. And I am making a trivial change in the same file, but different line (also a commented line) on PC2. I am Committing those changes on both PC's. Then I Push the change from PC1 to the repository. I Pull the change from the repository into PC2.
When I complete the Pull on PC2, the following warning pops up:
When I then attempt to Merge, it fails, and I get the visual merge error icons in package explorer:
NOTE: To be clear, all reference to "Mac" in here refer to a MacBookPro running Win10 under boot camp, which has been working perfectly until this problem appeared. That is, both PC's that are failing to Merge properly are Win10 machines; virtually identical installs.
What used to happen is the possible Merge conflict was spotted and easily auto-resolved, allowing me to complete the Merge. Because these changes are trivial and in different lines of the same file, this should be very trivial to accomplish. But - no - the Merge is utterly failing to auto-resolve. And this is why I am elevating to "Critical".
Error Logs
Here is the detailed error log coming from the Merge failure:
Message: Unhandled event loop exception
Exception Stack Trace:
org.eclipse.e4.core.di.InjectionException: com.aragost.javahg.internals.UnexpectedCommandOutputException:
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:65)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:431)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:446)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:472)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
Caused by: com.aragost.javahg.internals.UnexpectedCommandOutputException:
at com.aragost.javahg.merge.ConflictResolvingContext.processStream(ConflictResolvingContext.java:150)
at com.aragost.javahg.commands.MergeCommand.execute(MergeCommand.java:67)
at com.vectrace.MercurialEclipse.commands.HgMergeClient.merge(HgMergeClient.java:38)
at com.vectrace.MercurialEclipse.menu.MergeHandler.createMergeContext(MergeHandler.java:139)
at com.vectrace.MercurialEclipse.menu.MergeHandler.mergeAndCommit(MergeHandler.java:123)
at com.vectrace.MercurialEclipse.menu.MergeHandler.determineMergeHeadAndMerge(MergeHandler.java:110)
at com.vectrace.MercurialEclipse.menu.MergeHandler.run(MergeHandler.java:49)
at com.vectrace.MercurialEclipse.menu.RootHandler.execute(RootHandler.java:89)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:291)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 36 more
Session Data:
eclipse.buildId=4.7.3.M20180301-0715
java.version=1.8.0_144
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product
Here is the error log from the "unexpected format" warning that popped right after the Pull:
Message: Unexpected format: updated to "fa97f9c6bf88: Merge conflict test: Trivial change #2 on Mac"
Exception Stack Trace:
com.aragost.javahg.internals.UnexpectedCommandOutputException: Unexpected format: updated to "fa97f9c6bf88: Merge conflict test: Trivial change #2 on Mac"
at com.aragost.javahg.commands.UpdateResult.fromLine(UpdateResult.java:123)
at com.aragost.javahg.internals.UpdateMergeHelper.update(UpdateMergeHelper.java:95)
at com.aragost.javahg.commands.UpdateCommand.executeHelper(UpdateCommand.java:80)
at com.aragost.javahg.commands.UpdateCommand.execute(UpdateCommand.java:58)
at com.vectrace.MercurialEclipse.commands.HgUpdateClient$2.run(HgUpdateClient.java:114)
at com.vectrace.MercurialEclipse.commands.HgUpdateClient$2.run(HgUpdateClient.java:1)
at com.vectrace.MercurialEclipse.commands.JavaHgCommandJob.doRun(JavaHgCommandJob.java:43)
at com.vectrace.MercurialEclipse.commands.CommandJob.run(CommandJob.java:89)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Session Data:
eclipse.buildId=4.7.3.M20180301-0715
java.version=1.8.0_144
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product
Platform Installation Details
Finally, here are my Eclipse install details:
Axis2 Tools 1.1.301.v201410160332 org.eclipse.jst.ws.axis2tools.feature.feature.group Eclipse Web Tools Platform
Buildship: Eclipse Plug-ins for Gradle 2.2.1.v20180125-1441 org.eclipse.buildship.feature.group Eclipse Buildship
Cloud Foundry Tools Core 1.2.3.v201709130027 org.eclipse.cft.server.core.feature.feature.group Eclipse Tools for Cloud Foundry
Cloud Foundry Tools UI 1.0.10.v201709130027 org.eclipse.cft.server.ui.feature.feature.group Eclipse Tools for Cloud Foundry
Code Recommenders for Java Developers 2.5.1.v20180228-0833 org.eclipse.recommenders.rcp.feature.feature.group Eclipse Code Recommenders
Code Recommenders Mylyn Integration 2.5.1.v20180228-0833 org.eclipse.recommenders.mylyn.rcp.feature.feature.group Eclipse Code Recommenders
CXF Web Services 1.1.300.v201701262158 org.eclipse.jst.ws.cxf.feature.feature.group Eclipse Web Tools Platform
Dali Java Persistence Tools - Common 1.5.100.v201705180510 org.eclipse.jpt.common.feature.feature.group Eclipse Web Tools Platform
Dali Java Persistence Tools - EclipseLink Common 1.3.200.v201603180253 org.eclipse.jpt.common.eclipselink.feature.feature.group Eclipse Web Tools Platform
Dali Java Persistence Tools - EclipseLink DBWS Support 1.2.200.v201603180253 org.eclipse.jpt.dbws.eclipselink.feature.feature.group Eclipse Web Tools Platform
Dali Java Persistence Tools - EclipseLink JAXB Support 1.4.200.v201603180253 org.eclipse.jpt.jaxb.eclipselink.feature.feature.group Eclipse Web Tools Platform
Dali Java Persistence Tools - EclipseLink JPA Support 3.4.100.v201603180253 org.eclipse.jpt.jpa.eclipselink.feature.feature.group Eclipse Web Tools Platform
Dali Java Persistence Tools - JAXB Support 1.5.100.v201603180253 org.eclipse.jpt.jaxb.feature.feature.group Eclipse Web Tools Platform
Dali Java Persistence Tools - JPA Support 3.5.100.v201705180510 org.eclipse.jpt.jpa.feature.feature.group Eclipse Web Tools Platform
Data Tools Platform Connectivity 1.14.1.201712071719 org.eclipse.datatools.connectivity.feature.feature.group Eclipse Data Tools Platform
Data Tools Platform Connectivity Documentation 1.14.1.201712071719 org.eclipse.datatools.connectivity.doc.user.feature.group Eclipse Data Tools Platform
Data Tools Platform Enablement 1.14.1.201712071719 org.eclipse.datatools.enablement.feature.feature.group Eclipse Data Tools Platform
Data Tools Platform Intro 1.14.1.201712071719 org.eclipse.datatools.intro.feature.group Eclipse Data Tools Platform
Data Tools Platform Model Base 1.14.1.201712071719 org.eclipse.datatools.modelbase.feature.feature.group Eclipse Data Tools Platform
Data Tools Platform SQL Dev Tools Documentation 1.14.1.201712071719 org.eclipse.datatools.sqltools.doc.user.feature.group Eclipse Data Tools Platform
Data Tools Platform SQL Development Tools 1.14.1.201712071719 org.eclipse.datatools.sqldevtools.feature.feature.group Eclipse Data Tools Platform
Data Tools Platform Tutorial Documentation 1.14.1.201712071719 org.eclipse.datatools.common.doc.user.feature.group Eclipse Data Tools Platform
Data Tools Platform User Documentation 1.14.1.201712071719 org.eclipse.datatools.doc.user.feature.group Eclipse Data Tools Platform
EclEmma Java Code Coverage 3.0.1.201711142128 org.eclipse.eclemma.feature.feature.group Eclipse EclEmma
Eclipse Faceted Project Framework 3.7.1.v201707201954 org.eclipse.wst.common.fproj.feature.group Eclipse Web Tools Platform
Eclipse Faceted Project Framework JDT Enablement 3.9.1.v201710021614 org.eclipse.jst.common.fproj.enablement.jdt.feature.group Eclipse Web Tools Platform
Eclipse IDE for Java EE Developers 4.7.3.20180308-1800 epp.package.jee Eclipse Packaging Project
Eclipse Java Development Tools 3.13.3.v20180301-0715 org.eclipse.jdt.feature.group Eclipse.org
Eclipse Java EE Developer Tools 3.9.2.v201802121827 org.eclipse.jst.enterprise_ui.feature.feature.group Eclipse Web Tools Platform
Eclipse Java Web Developer Tools 3.9.0.v201802152012 org.eclipse.jst.web_ui.feature.feature.group Eclipse Web Tools Platform
Eclipse Plug-in Development Environment 3.13.3.v20180301-1154 org.eclipse.pde.feature.group Eclipse.org
Eclipse Web Developer Tools 3.9.2.v201801171858 org.eclipse.wst.web_ui.feature.feature.group Eclipse Web Tools Platform
Eclipse XML Editors and Tools 3.9.2.v201801171858 org.eclipse.wst.xml_ui.feature.feature.group Eclipse Web Tools Platform
Eclipse XSL Developer Tools 1.3.401.v201509231858 org.eclipse.wst.xsl.feature.feature.group Eclipse Web Tools Platform
Git integration for Eclipse 4.9.2.201712150930-r org.eclipse.egit.feature.group Eclipse EGit
Git integration for Eclipse - Task focused interface 4.9.2.201712150930-r org.eclipse.egit.mylyn.feature.group Eclipse EGit
JavaScript Development Tools 2.1.1.v201711211802 org.eclipse.wst.jsdt.feature.feature.group Eclipse Web Tools Platform
JavaScript Development Tools Chromium/V8 Remote Debugger 0.6.0.v201705091354 org.eclipse.wst.jsdt.chromium.debug.feature.feature.group Eclipse Web Tools Platform
JAX-WS DOM Tools 1.0.302.v201504272154 org.eclipse.jst.ws.jaxws.dom.feature.feature.group Eclipse Web Tools Platform
JAX-WS Tools 1.2.300.v201701262158 org.eclipse.jst.ws.jaxws.feature.feature.group Eclipse Web Tools Platform
JSF Tools 3.10.0.v201802231403 org.eclipse.jsf.feature.feature.group Eclipse Web Tools Platform
JSF Tools - Tag Library Metadata (Apache Trinidad) 2.6.1.v201802231403 org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature.feature.group Eclipse Web Tools Platform
JSF Tools - Web Page Editor 2.9.0.v201802231403 org.eclipse.jst.webpageeditor.feature.feature.group Eclipse Web Tools Platform
JST Server Adapters 3.2.400.v201711301708 org.eclipse.jst.server_adapters.feature.feature.group Eclipse Web Tools Platform
JST Server Adapters Extensions 3.3.601.v201711301708 org.eclipse.jst.server_adapters.ext.feature.feature.group Eclipse Web Tools Platform
JST Server UI 3.4.300.v201709251835 org.eclipse.jst.server_ui.feature.feature.group Eclipse Web Tools Platform
m2e - Maven Integration for Eclipse (includes Incubating components) 1.8.3.20180227-2137 org.eclipse.m2e.feature.feature.group Eclipse.org - m2e
m2e - slf4j over logback logging (Optional) 1.8.3.20180227-2137 org.eclipse.m2e.logback.feature.feature.group Eclipse.org - m2e
m2e-wtp - JAX-RS configurator for WTP (Optional) 1.3.3.20170823-1905 org.eclipse.m2e.wtp.jaxrs.feature.feature.group Eclipse.org - m2e-wtp
m2e-wtp - JPA configurator for WTP (Optional) 1.3.3.20170823-1905 org.eclipse.m2e.wtp.jpa.feature.feature.group Eclipse.org - m2e-wtp
m2e-wtp - JSF configurator for WTP (Optional) 1.3.3.20170823-1905 org.eclipse.m2e.wtp.jsf.feature.feature.group Eclipse.org - m2e-wtp
m2e-wtp - Maven Integration for WTP 1.3.3.20170823-1905 org.eclipse.m2e.wtp.feature.feature.group Eclipse.org - m2e-wtp
MercurialEclipse 2.5.0.201804011616 mercurialeclipse.feature.group MercurialEclipse project
Mylyn Builds Connector: Hudson/Jenkins 1.15.0.v20170411-2141 org.eclipse.mylyn.hudson.feature.group Eclipse Mylyn
Mylyn Context Connector: C/C++ Development 5.19.0.v20170411-2108 org.eclipse.cdt.mylyn.feature.group Eclipse Mylyn
Mylyn Context Connector: CVS Support 3.23.0.v20170411-2108 org.eclipse.mylyn.team.cvs.feature.group Eclipse Mylyn
Mylyn Context Connector: Eclipse IDE 3.23.0.v20170411-2108 org.eclipse.mylyn.ide_feature.feature.group Eclipse Mylyn
Mylyn Context Connector: Java Development 3.23.0.v20170411-2108 org.eclipse.mylyn.java_feature.feature.group Eclipse Mylyn
Mylyn Context Connector: Plug-in Development 3.23.0.v20170411-2108 org.eclipse.mylyn.pde_feature.feature.group Eclipse Mylyn
Mylyn Reviews Connector: Gerrit 2.14.0.v20170411-2108 org.eclipse.mylyn.gerrit.feature.feature.group Eclipse Mylyn
Mylyn Reviews Connector: Gerrit Dashboard 2.14.0.v20170411-2108 org.eclipse.mylyn.gerrit.dashboard.feature.feature.group Eclipse Mylyn
Mylyn Task List 3.23.1.v20170623-0008 org.eclipse.mylyn_feature.feature.group Eclipse Mylyn
Mylyn Task-Focused Interface 3.23.0.v20170414-0629 org.eclipse.mylyn.context_feature.feature.group Eclipse Mylyn
Mylyn Tasks Connector: Bugzilla 3.23.1.v20170623-0008 org.eclipse.mylyn.bugzilla_feature.feature.group Eclipse Mylyn
Mylyn Tasks Connector: Trac 3.23.1.v20170623-0008 org.eclipse.mylyn.trac_feature.feature.group Eclipse Mylyn
Mylyn Versions Connector: CVS 1.15.0.v20170411-2003 org.eclipse.mylyn.cvs.feature.group Eclipse Mylyn
Mylyn Versions Connector: Git 1.15.0.v20170411-2003 org.eclipse.mylyn.git.feature.group Eclipse Mylyn
Mylyn WikiText 3.0.19.201711172000 org.eclipse.mylyn.wikitext_feature.feature.group Eclipse Mylyn
PyDev for Eclipse 6.3.2.201803171248 org.python.pydev.feature.feature.group Fabio Zadrozny
PyDev for Eclipse Developer Resources 6.3.2.201803171248 org.python.pydev.feature.source.feature.group Fabio Zadrozny
Remote System Explorer End-User Runtime 3.7.3.201704251225 org.eclipse.rse.feature.group Eclipse TM Project
Remote System Explorer User Actions 3.7.0.201704251225 org.eclipse.rse.useractions.feature.group Eclipse TM Project
TM Terminal 4.3.0.201706140544 org.eclipse.tm.terminal.feature.feature.group Eclipse.org - Target Management
WST Server Adapters 3.2.601.v201711302104 org.eclipse.wst.server_adapters.feature.feature.group Eclipse Web Tools Platform
Both PC's are running the same Eclipse platform, same installs. And here is my TortoiseHg install info:
Does anyone have any idea why a Merge system that worked perfectly recently now fails utterly, with these packages and settings? Thanks!