CommandExecutor (@NotNull Command command) { final CommandExecutor executor; if (!myVcs.getSvnConfiguration().isRunUnderTerminal() || isLocal(command)) { command.putIfNotPresent("--non-interactive"); executor = new CommandExecutor(exePath, command); } else { // do not explicitly specify "--force-interactive" as it is not supported in svn 1.7 - commands will be interactive by default as // running under terminal executor = newTerminalExecutor(command); ((TerminalExecutor)executor).addInteractiveListener(new TerminalSshModule(this, executor)); ((TerminalExecutor)executor).addInteractiveListener(new TerminalSslCertificateModule(this, executor)); ((TerminalExecutor)executor).addInteractiveListener(new TerminalUserNamePasswordModule(this, executor)); } return executor; }