# HG changeset patch # User Dmitry Neverov # Date 1417188527 -3600 # Node ID 884c3d03f6cac6c538d21c1eccfd888319eeaf8d # Parent 9af9d7f944d94b182114bbb4ecf029c14b1e78a3 TW-36023 include local repository path into warn log messages to ease troubleshooting diff -r 9af9d7f944d9 -r 884c3d03f6ca mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResult.java --- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResult.java Thu Nov 27 21:05:41 2014 +0100 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResult.java Fri Nov 28 16:28:47 2014 +0100 @@ -57,17 +57,20 @@ private final ExecResult myDelegate; private final Set myPrivateData; private final CommandSettings mySettings; + private final String myCommandWorkingDir; public CommandResult(@NotNull Logger logger, @NotNull String command, @NotNull ExecResult execResult, @NotNull Set privateData, - @NotNull CommandSettings settings) { + @NotNull CommandSettings settings, + @Nullable String commandWorkingDir) { myLogger = logger; myCommand = command; myDelegate = execResult; myPrivateData = privateData; mySettings = settings; + myCommandWorkingDir = commandWorkingDir; } public int getExitCode() { @@ -170,9 +173,13 @@ return exception instanceof NullPointerException; } + @NotNull private String createCommandLogMessage() { StringBuilder message = new StringBuilder(); - message.append("'").append(getCommand()).append("' command failed."); + message.append("'"); + if (!isEmpty(myCommandWorkingDir)) + message.append("[").append(myCommandWorkingDir).append("] "); + message.append(getCommand()).append("' command failed."); String stderr = getStderr(); if (!isEmpty(stderr)) { int logOutputLimit = mySettings.getLogOutputLimit(); diff -r 9af9d7f944d9 -r 884c3d03f6ca mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java --- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java Thu Nov 27 21:05:41 2014 +0100 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java Fri Nov 28 16:28:47 2014 +0100 @@ -139,7 +139,7 @@ Loggers.VCS.debug("Command " + command + " took " + duration + "ms"); } }, stdoutBuffer, stderrBuffer); - return new CommandResult(Loggers.VCS, command, res, privateData, settings); + return new CommandResult(Loggers.VCS, command, res, privateData, settings, cli.getWorkingDirectory()); } public static String removePrivateData(final String str, final Set privateData) { diff -r 9af9d7f944d9 -r 884c3d03f6ca mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResultTest.java --- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResultTest.java Thu Nov 27 21:05:41 2014 +0100 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResultTest.java Fri Nov 28 16:28:47 2014 +0100 @@ -181,12 +181,12 @@ @NotNull CommandResult commandResultFor(@NotNull String command, @NotNull ExecResultBuilder builder, String... privateData) { - return new CommandResult(myLogger, command, builder.build(), new HashSet(Arrays.asList(privateData)), new CommandSettings()); + return new CommandResult(myLogger, command, builder.build(), new HashSet(Arrays.asList(privateData)), new CommandSettings(), "/path/to/command/dir"); } @NotNull CommandResult commandResultFor(@NotNull ExecResultBuilder builder, CommandSettings settings) { - return new CommandResult(myLogger, "", builder.build(), new HashSet(), settings); + return new CommandResult(myLogger, "", builder.build(), new HashSet(), settings, "/path/to/command/dir"); } private class ExecResultBuilder {