Mercurial > hg > mercurial
view mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CollectChangesWithRevsets.java @ 893:1558f8257474
gather progress only if command reports it
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Fri, 07 Nov 2014 16:05:09 +0100 |
parents | 39ff04730ccc |
children | 7bf4d943d5bb |
line wrap: on
line source
/* * Copyright 2000-2014 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.buildTriggers.vcs.mercurial.ServerHgRepo; import jetbrains.buildServer.vcs.VcsException; import org.jetbrains.annotations.NotNull; import java.util.List; /** * @author dmitry.neverov */ public class CollectChangesWithRevsets extends CollectChangesCommand { private final HgVcsRoot myRoot; private final ServerHgRepo myRepo; public CollectChangesWithRevsets(@NotNull HgVcsRoot root, @NotNull ServerHgRepo repo) { myRoot = root; myRepo = repo; } @Override public List<ChangeSet> call() throws VcsException { return call(myFromRevisions, myToRevision); } @NotNull public List<ChangeSet> call(@NotNull final List<String> fromCommits, @NotNull final String toCommit) throws VcsException { StringBuilder revsets = new StringBuilder(); revsets.append("ancestors(").append(toCommit).append(")"); for (String from : fromCommits) { revsets.append(" - ancestors(").append(from).append(")"); } if (myIncludeFromRevision) { for (String from : fromCommits) { revsets.append(" + ").append(from); } } return myRepo.log(myRoot) .showCommitsFromAllBranches() .withRevsets(revsets.toString()) .call(); } }