From cf82d4c093ea0ad429f6396bc9b0f2917af41176 Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Thu, 5 Apr 2018 22:52:57 +0300 Subject: [PATCH] svn: Fix executable path escaping in ssh tunnel settings (IDEA-186917) --- .../idea/svn/commandLine/SshTunnelRuntimeModule.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SshTunnelRuntimeModule.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SshTunnelRuntimeModule.java index e2407ccc0f9d..40424686e2be 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SshTunnelRuntimeModule.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SshTunnelRuntimeModule.java @@ -10,6 +10,8 @@ import org.jetbrains.idea.svn.SvnConfiguration; import org.jetbrains.idea.svn.SvnConfiguration.SshConnectionType; import org.jetbrains.idea.svn.SvnConfigurationState; +import java.util.List; + import static com.intellij.execution.CommandLineUtil.toCommandLine; import static com.intellij.openapi.util.io.FileUtil.getNameWithoutExtension; import static com.intellij.openapi.util.io.FileUtil.toSystemIndependentName; @@ -47,7 +49,10 @@ public class SshTunnelRuntimeModule extends BaseCommandRuntimeModule { String sshPath = getState().sshExecutablePath; sshPath = !isEmpty(sshPath) ? sshPath : getExecutablePath(getConfiguration().getSshTunnelSetting()); - return join(toCommandLine(sshPath, buildTunnelCommandLine(sshPath).getParametersList().getParameters()), " "); + List parameters = toCommandLine(sshPath, buildTunnelCommandLine(sshPath).getParametersList().getParameters()); + parameters.set(0, toSystemIndependentName(sshPath)); + + return join(parameters, " "); } @NotNull