Mercurial > hg > mercurial
changeset 881:f697460552c8
Require progress in ChangesCollectingContext
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Sat, 04 Oct 2014 23:25:34 +0200 |
parents | ea8b15b97960 |
children | a421a669588c |
files | mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CollectChangesContext.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCollectChangesPolicy.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialModificationInfoBuilder.java |
diffstat | 3 files changed, 19 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CollectChangesContext.java Sat Oct 04 23:16:43 2014 +0200 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CollectChangesContext.java Sat Oct 04 23:25:34 2014 +0200 @@ -51,23 +51,26 @@ public CollectChangesContext(@NotNull MercurialVcsSupport vcs, @NotNull RepoFactory repoFactory, + @NotNull MercurialProgress progress, @NotNull RepositoryStateData fromState, @NotNull RepositoryStateData toState) { - this(vcs, repoFactory, new HashSet<String>(fromState.getBranchRevisions().values()), toState); + this(vcs, repoFactory, progress, new HashSet<String>(fromState.getBranchRevisions().values()), toState); } public CollectChangesContext(@NotNull MercurialVcsSupport vcs, @NotNull RepoFactory repoFactory, + @NotNull MercurialProgress progress, @NotNull String fromVersion, @NotNull String toVersion) { - this(vcs, repoFactory, setOf(fromVersion), RepositoryStateData.createSingleVersionState(toVersion)); + this(vcs, repoFactory, progress, setOf(fromVersion), RepositoryStateData.createSingleVersionState(toVersion)); } public CollectChangesContext(@NotNull MercurialVcsSupport vcs, @NotNull RepoFactory repoFactory, + @NotNull MercurialProgress progress, @NotNull Collection<String> fromVersions, @NotNull RepositoryStateData toState) { - super(vcs, repoFactory, MercurialProgress.NO_OP); + super(vcs, repoFactory, progress); myToState = toState; myUninterestingRevisions = new HashSet<String>(fromVersions); }
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCollectChangesPolicy.java Sat Oct 04 23:16:43 2014 +0200 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCollectChangesPolicy.java Sat Oct 04 23:25:34 2014 +0200 @@ -96,7 +96,7 @@ @NotNull CheckoutRules rules) throws VcsException { List<ModificationData> changes = new ArrayList<ModificationData>(); HgVcsRoot hgRoot = myHgVcsRootFactory.createHgRoot(root); - CollectChangesContext ctx = new CollectChangesContext(myVcs, myRepoFactory, fromState, toState); + CollectChangesContext ctx = new CollectChangesContext(myVcs, myRepoFactory, createMercurialProgess(), fromState, toState); ctx.setProgressConsumer(createProgressConsumer()); for (Map.Entry<String, String> entry : toState.getBranchRevisions().entrySet()) { String branch = entry.getKey(); @@ -149,7 +149,7 @@ @NotNull CheckoutRules checkoutRules) throws VcsException { if (currentVersion == null) return emptyList(); - CollectChangesContext ctx = new CollectChangesContext(myVcs, myRepoFactory, fromVersion, currentVersion); + CollectChangesContext ctx = new CollectChangesContext(myVcs, myRepoFactory, createMercurialProgess(), fromVersion, currentVersion); ctx.setProgressConsumer(createProgressConsumer()); List<ModificationData> changes = collectChanges(ctx, root, asList(fromVersion), currentVersion, checkoutRules); changes.addAll(getSubrepoChanges(ctx, root, changes)); @@ -395,6 +395,16 @@ } + @NotNull + private MercurialProgress createMercurialProgess() { + try { + final VcsOperationProgress progress = myProgressProvider.getProgress(); + return new MercurialVcsOperationProgress(progress); + } catch (IllegalStateException e) { + return MercurialProgress.NO_OP; + } + } + @Nullable private ProgressParser.ProgressConsumer createProgressConsumer() { try {
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialModificationInfoBuilder.java Sat Oct 04 23:16:43 2014 +0200 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialModificationInfoBuilder.java Sat Oct 04 23:25:34 2014 +0200 @@ -50,6 +50,7 @@ final CollectChangesContext ctx = new CollectChangesContext(myVcs, myRepoFactory, + MercurialProgress.NO_OP, Collections.<String>emptyList(), RepositoryStateData.createVersionState("", Collections.<String, String>emptyMap()));