Mercurial > hg > mercurial
view mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/IdentifyCommand.java @ 347:4a49a0baf30b
Merge branch Eluru-6.5.x
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Wed, 11 Jan 2012 13:22:42 +0400 |
parents | e9cdb499350d e8f0eb6d4ca4 |
children | fd56b9524834 |
line wrap: on
line source
/* * Copyright 2000-2011 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package jetbrains.buildServer.buildTriggers.vcs.mercurial.command; import com.intellij.execution.configurations.GeneralCommandLine; 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 VcsRootCommand { private boolean myInLocalRepository = false; private ChangeSet myChangeSet; private Integer myRevisionNumber; 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 void setRevisionNumber(int revisionNumber) { myRevisionNumber = revisionNumber; } public String execute() throws VcsException { GeneralCommandLine cli = createCL(); cli.addParameter("identify"); if (myInLocalRepository) { cli.setWorkDirectory(this.getWorkDirectory().getAbsolutePath()); } else { cli.addParameter(getSettings().getRepositoryUrl()); } if (myChangeSet != null) { cli.addParameter("--rev"); cli.addParameter(myChangeSet.getId()); } else if (myRevisionNumber != null) { cli.addParameter("--rev"); cli.addParameter(myRevisionNumber.toString()); } CommandResult res = runCommand(cli); failIfNotEmptyStdErr(cli, res); String output = res.getStdout().trim(); return output.contains(" ") ? output.substring(0, output.indexOf(" ")) : output; } }