Where's my Resolve Conflicts window gone?

I suspect this is a problem with my environment rather than a bug in RubyMine, but it's really annoying and I'm not sure how to fix it!

I'm running RubyMine 4.0.2 (and I've just tried the 4.5 RC as well) on Mac OS/X Lion with a git repo, and I seem to have lost the ability to show the diff/merge view, which is getting very frustrating.  I'm currently looking at the result of a merge failure with a bunch of conflicts.  RubyMine is clearly identifying the files with conflicts by showing the names in red.  But whether I choose the VCS | Git | Resolve conflicts option from the menu bar or right-click on a file with a conflict and choose Git | Resolve Conflicts, nothing happens.  There's no error I can see, the merge view simply fails to show up.

So has anyone seen this before?  Is there any particular configuration file I can try clearing to see if it will restore my Resolve Conflicts view?

As a supplementary, has anyone experimented with configuring the Rubymine merge tool as the default git diff/merge viewer?  Can it be run from the command-line on the Mac?

Any help appreciated.

Mark

6 comments
Comment actions Permalink

Are there any exceptions in the log? (Help | Reveal Logs)

0
Comment actions Permalink

Ah, yes, I should have thought of that. :8}

The file it's complaining about is actually a directory and the location of a git submodule.  I wouldn't expect a merge conflict in a submodule reference to be something I could resolve in a merge tool but I guess RubyMine doesn't know that.

I manually cleared the merge conflict on the lib/shared_database submodule, and then when I re-ran the Resolve Conflicts command I got the expected dialog listing all the other merge conflicts and from there was able to bring up the 3-way merge.  That's a good enough work-around for me and thanks for the pointer.

Still, should RubyMine be able to spot submodule references without just failing like this?

2012-07-16 13:26:57,976 [5768670]  ERROR - it4idea.merge.GitMergeProvider - Assertion failed: The conflict not found for the file: /Users/mark/Dropbox/DplusE/travel/lib/shared_database(.)
Full ls-files output:
 
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:98)
at git4idea.merge.GitMergeProvider$MyMergeSession.<init>(GitMergeProvider.java:326)
at git4idea.merge.GitMergeProvider.createMergeSession(GitMergeProvider.java:221)
at com.intellij.openapi.vcs.merge.MultipleFileMergeDialog.<init>(MultipleFileMergeDialog.java:131)
at com.intellij.openapi.vcs.impl.AbstractVcsHelperImpl.showMergeDialog(AbstractVcsHelperImpl.java:566)
at com.intellij.openapi.vcs.impl.AbstractVcsHelperImpl.showMergeDialog(AbstractVcsHelperImpl.java:559)
at git4idea.actions.GitResolveConflictsAction.actionPerformed(GitResolveConflictsAction.java:72)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:260)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:891)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:114)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:226)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:100)
at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:512)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:44)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:532)
at java.awt.Component.processMouseEvent(Component.java:6375)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6140)
at java.awt.Container.processEvent(Container.java:2083)
at java.awt.Component.dispatchEventImpl(Component.java:4737)
at java.awt.Container.dispatchEventImpl(Container.java:2141)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4280)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)
at java.awt.Container.dispatchEventImpl(Container.java:2127)
at java.awt.Window.dispatchEventImpl(Window.java:2482)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:643)
at java.awt.EventQueue$1.run(EventQueue.java:641)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:657)
at java.awt.EventQueue$2.run(EventQueue.java:655)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:654)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:719)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:540)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:421)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:379)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
2012-07-16 13:26:57,977 [5768671]  ERROR - it4idea.merge.GitMergeProvider - JetBrains RubyMine 4.5  Build #RM-119.18
2012-07-16 13:26:57,977 [5768671]  ERROR - it4idea.merge.GitMergeProvider - JDK: 1.6.0_33
2012-07-16 13:26:57,977 [5768671]  ERROR - it4idea.merge.GitMergeProvider - VM: Java HotSpot(TM) 64-Bit Server VM
2012-07-16 13:26:57,978 [5768672]  ERROR - it4idea.merge.GitMergeProvider - Vendor: Apple Inc.
2012-07-16 13:26:57,978 [5768672]  ERROR - it4idea.merge.GitMergeProvider - OS: Mac OS X
2012-07-16 13:26:57,978 [5768672]  ERROR - it4idea.merge.GitMergeProvider - Last Action: Git.ResolveConflicts
2012-07-16 13:26:57,979 [5768673]  ERROR - com.intellij.ide.IdeEventQueue - Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(177,241),absolute(663,1309),button=1,modifiers=Button1,clickCount=1] on ###overrideRedirect###
java.lang.NullPointerException
at git4idea.merge.GitMergeProvider$MyMergeSession.<init>(GitMergeProvider.java:328)
at git4idea.merge.GitMergeProvider.createMergeSession(GitMergeProvider.java:221)
at com.intellij.openapi.vcs.merge.MultipleFileMergeDialog.<init>(MultipleFileMergeDialog.java:131)
at com.intellij.openapi.vcs.impl.AbstractVcsHelperImpl.showMergeDialog(AbstractVcsHelperImpl.java:566)
at com.intellij.openapi.vcs.impl.AbstractVcsHelperImpl.showMergeDialog(AbstractVcsHelperImpl.java:559)
at git4idea.actions.GitResolveConflictsAction.actionPerformed(GitResolveConflictsAction.java:72)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:260)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:891)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:114)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:226)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:100)
at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:512)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:44)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:532)
at java.awt.Component.processMouseEvent(Component.java:6375)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6140)
at java.awt.Container.processEvent(Container.java:2083)
at java.awt.Component.dispatchEventImpl(Component.java:4737)
at java.awt.Container.dispatchEventImpl(Container.java:2141)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4280)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)
at java.awt.Container.dispatchEventImpl(Container.java:2127)
at java.awt.Window.dispatchEventImpl(Window.java:2482)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:684)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:643)
at java.awt.EventQueue$1.run(EventQueue.java:641)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:657)
at java.awt.EventQueue$2.run(EventQueue.java:655)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:654)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:719)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:540)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:421)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:379)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
2012-07-16 13:26:57,980 [5768674]  ERROR - com.intellij.ide.IdeEventQueue - JetBrains RubyMine 4.5  Build #RM-119.18
2012-07-16 13:26:57,980 [5768674]  ERROR - com.intellij.ide.IdeEventQueue - JDK: 1.6.0_33
2012-07-16 13:26:57,980 [5768674]  ERROR - com.intellij.ide.IdeEventQueue - VM: Java HotSpot(TM) 64-Bit Server VM
2012-07-16 13:26:57,980 [5768674]  ERROR - com.intellij.ide.IdeEventQueue - Vendor: Apple Inc.
2012-07-16 13:26:57,980 [5768674]  ERROR - com.intellij.ide.IdeEventQueue - OS: Mac OS X
2012-07-16 13:26:57,980 [5768674]  ERROR - com.intellij.ide.IdeEventQueue - Last Action: Git.ResolveConflicts

0
Comment actions Permalink

Looks like this problem has already been reported as http://youtrack.jetbrains.com/issue/IDEA-81563 . Feel free to vote for it to get notified when the issue is fixed.

0
Comment actions Permalink

Thanks for that.

Finally, can you help with my second question?  Is it possible to configure git to run the Resolve Conflicts view from the command-line using git difftool and/or git mergetool?

0
Comment actions Permalink

Running RubyMine's diff is supported (rubymine.app/biin/rubymine diff <path1> <path2>). Merge will be supported in RubyMine 4.5.

0
Comment actions Permalink

Thanks again for the quick replies.

I was experimenting with the path this morning before posting and couldn't get anything to work.

/Application/RubyMine/bin/rubymine diff just gets me a "no such file or directory", as does every other variation I've tried so far.  But your post did give me some new ideas to play with and this is the path that finally worked for me.

/Applications/RubyMine.app/Contents/MacOS/rubymine diff

Thanks again.

Mark

0

Please sign in to leave a comment.