Mercurial > hg > mercurial
changeset 216:ec4c31d0eec0 Eluru-6.0.x
Now IdenifyCommand can check if revision is present in local repository
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Wed, 06 Apr 2011 11:00:47 +0400 |
parents | 4dbef935a32f |
children | e07386542f69 |
files | mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/IdentifyCommand.java |
diffstat | 1 files changed, 29 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/IdentifyCommand.java Wed Apr 06 10:37:00 2011 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/IdentifyCommand.java Wed Apr 06 11:00:47 2011 +0400 @@ -20,20 +20,48 @@ import jetbrains.buildServer.vcs.VcsException; import org.jetbrains.annotations.NotNull; +import java.io.File; + /** * @author Pavel.Sher * Date: 16.07.2008 */ public class IdentifyCommand extends BaseCommand { + + private boolean myInLocalRepository = false; + private ChangeSet myChangeSet; + private File myWorkingDir; + public IdentifyCommand(@NotNull final Settings settings) { super(settings); } + public void setInLocalRepository(boolean inLocalRepository) { + myInLocalRepository = inLocalRepository; + } + + public void setChangeSet(ChangeSet changeSet) { + myChangeSet = changeSet; + } + + public void setWorkingDir(File workingDir) { + myWorkingDir = workingDir; + } + public String execute() throws VcsException { GeneralCommandLine cli = new GeneralCommandLine(); + if (myWorkingDir != null) { + cli.setWorkingDirectory(myWorkingDir); + } cli.setExePath(getSettings().getHgCommandPath()); cli.addParameter("identify"); - cli.addParameter(getSettings().getRepositoryUrl()); + if (!myInLocalRepository) { + cli.addParameter(getSettings().getRepositoryUrl()); + } + if (myChangeSet != null) { + cli.addParameter("--rev"); + cli.addParameter(myChangeSet.getId()); + } ExecResult res = runCommand(cli); failIfNotEmptyStdErr(cli, res); return res.getStdout();