# HG changeset patch # User Pavel.Sher # Date 1248354523 -14400 # Node ID 4c15e7de1f9d1304cf5e719754cf308fcc6363a6 # Parent 1e5702d96c0fe88117b1d7d8558767d37d047b78 do not show password in test connection popup diff -r 1e5702d96c0f -r 4c15e7de1f9d mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java --- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java Thu Jul 23 11:46:56 2009 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java Thu Jul 23 17:08:43 2009 +0400 @@ -60,7 +60,7 @@ } public static ExecResult runCommand(@NotNull GeneralCommandLine cli, final int executionTimeout, @NotNull Set privateData) throws VcsException { - String cmdStr = cli.getCommandLineString(); + String cmdStr = removePrivateData(cli.getCommandLineString(), privateData); Loggers.VCS.debug("Run command: " + cmdStr); ExecResult res = SimpleCommandLineProcessRunner.runCommand(cli, null, new SimpleCommandLineProcessRunner.RunCommandEventsAdapter() { @Override @@ -69,23 +69,25 @@ } }); - cmdStr = removePrivateData(privateData, res, cmdStr); + removePrivateData(privateData, res); CommandUtil.checkCommandFailed(cmdStr, res); Loggers.VCS.debug(res.getStdout()); return res; } - private static String removePrivateData(final Set privateData, final ExecResult res, final String cmdStr) { - String newCmdStr = cmdStr; + private static void removePrivateData(final Set privateData, final ExecResult res) { + res.setStdout(removePrivateData(res.getStdout(), privateData)); + res.setStderr(removePrivateData(res.getStderr(), privateData)); + } + + public static String removePrivateData(final String str, final Set privateData) { + String result = str; for (String data: privateData) { if (data == null || data.length() == 0) continue; - String stdout = res.getStdout().replace(data, "******"); - res.setStdout(stdout); - String stderr = res.getStderr().replace(data, "******"); - res.setStderr(stderr); - newCmdStr = newCmdStr.replace(data, "******"); + result = result.replace(data, "******"); } - return newCmdStr; + + return result; } } diff -r 1e5702d96c0f -r 4c15e7de1f9d mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java --- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Thu Jul 23 11:46:56 2009 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Thu Jul 23 17:08:43 2009 +0400 @@ -239,7 +239,8 @@ StringBuilder res = new StringBuilder(); res.append(quoteIfNeeded(settings.getHgCommandPath())); res.append(" identify "); - res.append(quoteIfNeeded(settings.getRepositoryUrl())); + final String obfuscatedUrl = CommandUtil.removePrivateData(settings.getRepositoryUrl(), Collections.singleton(settings.getPassword())); + res.append(quoteIfNeeded(obfuscatedUrl)); res.append('\n').append(id.execute()); return res.toString(); }