Mercurial > hg > mercurial
view mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/PullCommand.java @ 497:ed098534dab4 Faradi-7.1.x
TW-15304 disable interactive user prompt
The only hg version where this setting is not respected recursevly for
subrepositories is 1.7.4.
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Wed, 24 Oct 2012 19:29:59 +0400 |
parents | efba721f9a1d |
children | 31a1aca3305c |
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 jetbrains.buildServer.vcs.VcsException; import org.jetbrains.annotations.NotNull; import java.io.File; import java.io.IOException; import static com.intellij.openapi.util.io.FileUtil.delete; /** * @author Pavel.Sher * Date: 14.07.2008 */ public class PullCommand extends AuthCommand { private String myPullUrl; private int myTimeout; private boolean myTraceback; public PullCommand(@NotNull CommandSettings commandSettings, @NotNull String hgPath, @NotNull File workingDir, @NotNull AuthSettings authSettings) { super(commandSettings, hgPath, workingDir, authSettings); } public PullCommand fromRepository(@NotNull String pullUrl) { myPullUrl = pullUrl; return this; } public PullCommand fromRepository(@NotNull File localRepository) throws IOException { myPullUrl = localRepository.getCanonicalPath(); return this; } public PullCommand withTimeout(int timeout) { myTimeout = timeout; return this; } public PullCommand withTraceback(boolean runWithTraceback) { myTraceback = runWithTraceback; return this; } public void call() throws VcsException { ensureRepositoryIsNotLocked(); MercurialCommandLine cli = createCommandLine(); cli.addParameter("pull"); if (myTraceback) cli.addParameter("--traceback"); String pullUrl = myAuthSettings != null ? myAuthSettings.getRepositoryUrlWithCredentials(myPullUrl) : myPullUrl; cli.addParameter(pullUrl); runCommand(cli, myCommandSettings.setTimeout(myTimeout)); } private void ensureRepositoryIsNotLocked() { File lock = getRepositoryLock(); if (lock.exists()) delete(lock); } @NotNull private File getRepositoryLock() { return new File(getWorkDirectory(), ".hg" + File.separator + "store" + File.separator + "lock"); } }