# HG changeset patch # User Dmitry Neverov # Date 1336648235 -14400 # Node ID 010d8663ac4dddcf6b7355df8219e19ed4453fe8 # Parent ef53ca83df1bf2b1de715ba8afeb3a11408f14bb TW-21384 better error message diff -r ef53ca83df1b -r 010d8663ac4d mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java --- a/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java Sat Apr 28 13:14:16 2012 +0400 +++ b/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java Thu May 10 15:10:35 2012 +0400 @@ -5,6 +5,7 @@ import jetbrains.buildServer.agent.vcs.IncludeRuleUpdater; import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.AuthSettings; import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.Settings; +import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.exception.UnrelatedRepositoryException; import jetbrains.buildServer.vcs.IncludeRule; import jetbrains.buildServer.vcs.VcsException; import jetbrains.buildServer.vcs.VcsRoot; @@ -114,9 +115,13 @@ myLogger.message("Repository already contains revision " + myToVersion); } else { myLogger.message("Start pulling changes from " + (myUseLocalMirrors ? "local mirror " : "") + myAuthSettings.getRepositoryUrlWithHiddenPassword(repositoryUrl)); - repo.pull().fromRepository(repositoryUrl) - .withTimeout(myPullTimeout) - .call(); + try { + repo.pull().fromRepository(repositoryUrl) + .withTimeout(myPullTimeout) + .call(); + } catch (UnrelatedRepositoryException e) { + throw new UnrelatedRepositoryException(myAuthSettings.getRepositoryUrlWithHiddenPassword(repositoryUrl), workingDir); + } myLogger.message("Changes successfully pulled"); } } diff -r ef53ca83df1b -r 010d8663ac4d mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResult.java --- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResult.java Sat Apr 28 13:14:16 2012 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResult.java Thu May 10 15:10:35 2012 +0400 @@ -11,7 +11,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -39,11 +38,10 @@ private final ExecResult myDelegate; private final Set myPrivateData; - public CommandResult(@NotNull Logger logger, @NotNull String command, @NotNull ExecResult execResult) { - this(logger, command, execResult, Collections.emptySet()); - } - - public CommandResult(@NotNull Logger logger, @NotNull String command, @NotNull ExecResult execResult, @NotNull Set privateData) { + public CommandResult(@NotNull Logger logger, + @NotNull String command, + @NotNull ExecResult execResult, + @NotNull Set privateData) { myLogger = logger; myCommand = command; myDelegate = execResult; diff -r ef53ca83df1b -r 010d8663ac4d mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/exception/UnrelatedRepositoryException.java --- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/exception/UnrelatedRepositoryException.java Sat Apr 28 13:14:16 2012 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/exception/UnrelatedRepositoryException.java Thu May 10 15:10:35 2012 +0400 @@ -1,10 +1,20 @@ package jetbrains.buildServer.buildTriggers.vcs.mercurial.command.exception; import jetbrains.buildServer.vcs.VcsException; +import org.jetbrains.annotations.NotNull; + +import java.io.File; /** * @author dmitry.neverov */ public class UnrelatedRepositoryException extends VcsException { + public UnrelatedRepositoryException() { + super("Repository is unrelated"); + } + + public UnrelatedRepositoryException(@NotNull String repositoryUrl, @NotNull File workingDir) { + super("Repository " + repositoryUrl + " is unrelated to the repository in " + workingDir.getAbsolutePath()); + } }