Unable to open SVN merge dialog (Merge From...)
idea.log is throwing the following:
2017-12-14 10:17:21,059 [ 502283] ERROR - llij.ide.plugins.PluginManager - Argument for @NotNull parameter 'defaultValue' of com/intellij/util/ObjectUtils.notNull must not be null
java.lang.IllegalArgumentException: Argument for @NotNull parameter 'defaultValue' of com/intellij/util/ObjectUtils.notNull must not be null
at com.intellij.util.ObjectUtils.$$$reportNull$$$0(ObjectUtils.java)
at com.intellij.util.ObjectUtils.notNull(ObjectUtils.java)
at com.intellij.util.ObjectUtils.notNull(ObjectUtils.java:75)
at org.jetbrains.idea.svn.dialogs.CopiesPanel.getCorrespondingUrlInOtherBranch(CopiesPanel.java:357)
at org.jetbrains.idea.svn.dialogs.CopiesPanel.lambda$mergeFrom$7(CopiesPanel.java:342)
at org.jetbrains.idea.svn.branchConfig.SelectBranchPopup$BranchBasesPopupStep.lambda$onChosen$1(SelectBranchPopup.java:173)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:195)
at com.intellij.ui.popup.AbstractPopup.a(AbstractPopup.java:1431)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
at com.intellij.ide.IdeEventQueue.j(IdeEventQueue.java:822)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
2017-12-14 10:17:21,061 [ 502285] ERROR - llij.ide.plugins.PluginManager - IntelliJ IDEA 2017.3.1 Build #IU-173.3942.27
2017-12-14 10:17:21,061 [ 502285] ERROR - llij.ide.plugins.PluginManager - JDK: 1.8.0_152-release
2017-12-14 10:17:21,061 [ 502285] ERROR - llij.ide.plugins.PluginManager - VM: OpenJDK 64-Bit Server VM
2017-12-14 10:17:21,061 [ 502285] ERROR - llij.ide.plugins.PluginManager - Vendor: JetBrains s.r.o
2017-12-14 10:17:21,061 [ 502285] ERROR - llij.ide.plugins.PluginManager - OS: Mac OS X
2017-12-14 10:17:21,061 [ 502285] ERROR - llij.ide.plugins.PluginManager - Last Action: ShowLog
I've invalidated and cleared the IntelliJ cache but still no luck.
Please sign in to leave a comment.
See https://youtrack.jetbrains.com/issue/IDEA-182963
There is something specific with the branches config in your project. See if https://youtrack.jetbrains.com/issue/IDEA-182963#focus=streamItem-27-2603944-0-0 or https://youtrack.jetbrains.com/issue/IDEA-182963#focus=streamItem-27-2616973-0-0 helps as a workaround.
Thanks for the quick reply @Dmitriy. I will give that a try now and report back.
@Dmitriy, still no-go. Below is the contents of my misc.xml (not sensitive so I'm okay posting it here):
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="SvnBranchConfigurationManager">
<option name="myConfigurationMap">
<map>
<entry key="$PROJECT_DIR$">
<value>
<SvnBranchConfiguration>
<option name="trunkUrl" value="svn://localhost/focus/branches/focus_8.7" />
</SvnBranchConfiguration>
</value>
</entry>
</map>
</option>
<option name="mySupportsUserInfoFilter" value="true" />
</component>
</project>
This repo is behind a corporate firewall so we need to use an SSH tunnel over VPN to connect. I am able to checkout other branches but I can't do any merging.
Also, I saw this warning popup when I tried running "Cleanup" on the SVN from IntelliJ:
2017-12-14 10:35:13,929 [ 53838] INFO - svn.commandLine.CommandRuntime - Detected warning - svn: warning: W155010: The node '/Users/nate/Ubiquisoft/FOCUS/UbiFOCUS/.idea/inspectionProfiles' was not found.
Also, I tried removing the trunkUrl line and reconfigured via IntelliJ but still the NPE is thrown in idea.log
It is exactly the case described in https://youtrack.jetbrains.com/oauth?state=%2Fissue%2FIDEA-182963#focus=streamItem-27-2616973-0-0
Your project has no branches configured, go to COnfigure branches and specify the folder containing them.
I have tried that as well with no luck. I have 3 branches configured now and still getting the NPE after restarting IntelliJ.
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="SvnBranchConfigurationManager">
<option name="myConfigurationMap">
<map>
<entry key="$PROJECT_DIR$">
<value>
<SvnBranchConfiguration>
<option name="branchUrls">
<list>
<option value="svn://localhost/focus/branches/focus_8.7" />
<option value="svn://localhost/focus/branches/focus_8.8" />
<option value="svn://localhost/focus/tasks/focus_8.8_task" />
</list>
</option>
<option name="trunkUrl" value="svn://localhost/focus/branches/focus_8.7" />
</SvnBranchConfiguration>
</value>
</entry>
</map>
</option>
<option name="mySupportsUserInfoFilter" value="true" />
</component>
</project>
svn://localhost/focus/branches/focus_8.7 is configured both as trunk and as a branch, that is why you still get the NPE.
Remove it form the branches list, leaving configured as trunk only
Okay I did that but now it's failing with a new error and I have also noticed that the way we did merging up to this point seems to have changed. We would choose, for this example case, merge from focus_8.7 to focus_8.8_task and it would show the dialog "Select Merge Variant". Now there seems to be an extra step to choose one of the internal root directories in the branch, rather than the whole branch itself (i.e. I now have to choose specifically from FocusWeb, FocusUtil, etc..). Even now, when I do choose one of these root directories of the branch to merge from, I get the following error:
Error:svn://localhost/focus/branches/focus_8.7/FocusUtil@HEAD not found in {/branches/focus_8.7=org.jetbrains.idea.svn.history.LogEntryPath@39a94f76}
Nothing has changed in this regards. Seems just the branches location is configured incorrectly.
In the configure branches you need to add folders containing branches/tag, not the branches themselves. Looking at the above, in the Configure branches you need to have svn://localhost/focus/branches and svn://localhost/focus/tasks
The popup shown after you click Merge from lists list all folder configured at there at the top level (you will have trunk, branches..., task...). Selecting branches... or tasks... will show the second popup with all immediate child objects, that are considered branches.
Currently, subfolders of a branch are considered separate branches, that is why you get the above errors.
@Dmitriy, you're a wizard. That resolved it! THANKS!!!
Glad it works now. This is still a workaround, a proper fix will be done - follow https://youtrack.jetbrains.com/issue/IDEA-182963