Mercurial > hg > mercurial
changeset 222:f868f69e4ef3
Now IdenifyCommand can check if revision is present in local repository
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Wed, 06 Apr 2011 11:37:39 +0400 |
parents | 3ac863c20029 |
children | 3b5ffc1f5b7f |
files | mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/IdentifyCommand.java |
diffstat | 1 files changed, 20 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/IdentifyCommand.java Wed Apr 06 11:32:44 2011 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/IdentifyCommand.java Wed Apr 06 11:37:39 2011 +0400 @@ -28,15 +28,34 @@ */ public class IdentifyCommand extends BaseCommand { + private boolean myInLocalRepository = false; + private ChangeSet myChangeSet; + public IdentifyCommand(@NotNull Settings settings, @NotNull File workingDir) { super(settings, workingDir); } + public void setInLocalRepository(boolean inLocalRepository) { + myInLocalRepository = inLocalRepository; + } + + public void setChangeSet(ChangeSet changeSet) { + myChangeSet = changeSet; + } + public String execute() throws VcsException { GeneralCommandLine cli = new GeneralCommandLine(); cli.setExePath(getSettings().getHgCommandPath()); cli.addParameter("identify"); - cli.addParameter(getSettings().getRepositoryUrl()); + if (myInLocalRepository) { + cli.setWorkDirectory(this.getWorkDirectory()); + } else { + cli.addParameter(getSettings().getRepositoryUrl()); + } + if (myChangeSet != null) { + cli.addParameter("--rev"); + cli.addParameter(myChangeSet.getId()); + } ExecResult res = runCommand(cli); failIfNotEmptyStdErr(cli, res); return res.getStdout();