changeset 875:b06ea5c379cc

more progress for 'hg pull' commands
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Wed, 01 Oct 2014 14:21:31 +0200
parents 894b7e0c9dd6
children b2816067699a
files mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCollectChangesPolicy.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/OperationContext.java
diffstat 2 files changed, 9 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCollectChangesPolicy.java	Tue Sep 30 18:45:16 2014 +0200
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCollectChangesPolicy.java	Wed Oct 01 14:21:31 2014 +0200
@@ -110,7 +110,7 @@
       if (toRevision.equals(fromRevision) || fromRevision == null)
         continue;
 
-      Collection<String> fromRevisions = ctx.getFromRevisionsForBranch(hgRoot, fromRevision, toRevision);
+      Collection<String> fromRevisions = ctx.getFromRevisionsForBranch(hgRoot, fromRevision, toRevision, ctx.getProgressConsumer());
       List<ModificationData> branchChanges = collectChanges(ctx, root, fromRevisions, toRevision, rules);
       for (ModificationData change : branchChanges) {
         if (!ctx.isReportedModification(change)) {
@@ -193,9 +193,7 @@
                                                 @Nullable String currentVersion,
                                                 @NotNull CheckoutRules checkoutRules) throws VcsException {
     HgVcsRoot hgRoot = myHgVcsRootFactory.createHgRoot(root);
-    SyncSettings<Void> settings = new SyncSettings<Void>(VcsCallable.NO_OP);
-    settings.setProgressConsumer(ctx.getProgressConsumer());
-    ctx.syncRepository(hgRoot);
+    ctx.syncRepository(hgRoot, ctx.getProgressConsumer());
     List<ModificationData> result = new ArrayList<ModificationData>();
     List<ChangeSet> csets = getChangesets(ctx, hgRoot, fromVersion, currentVersion);
     //When commit has no changes in subrepo configuration we can reuse
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/OperationContext.java	Tue Sep 30 18:45:16 2014 +0200
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/OperationContext.java	Wed Oct 01 14:21:31 2014 +0200
@@ -81,11 +81,13 @@
     myUninterestingRevisions = new HashSet<String>(fromVersions);
   }
 
-  public void syncRepository(@NotNull final HgVcsRoot root) throws VcsException {
+  public void syncRepository(@NotNull HgVcsRoot root, @Nullable ProgressParser.ProgressConsumer progressConsumer) throws VcsException {
     File dir = myVcs.getWorkingDir(root);
     if (mySyncedDirs.contains(dir))
       return;
-    myVcs.syncRepository(root);
+    SyncSettings<Void> settings = new SyncSettings<Void>(VcsCallable.NO_OP);
+    settings.setProgressConsumer(progressConsumer);
+    myVcs.syncRepository(root, settings);
     mySyncedDirs.add(dir);
   }
 
@@ -210,8 +212,9 @@
   @NotNull
   public Collection<String> getFromRevisionsForBranch(@NotNull HgVcsRoot root,
                                                       @NotNull String fromRevision,
-                                                      @NotNull String toRevision) throws VcsException {
-    syncRepository(root);
+                                                      @NotNull String toRevision,
+                                                      @Nullable ProgressParser.ProgressConsumer progressConsumer) throws VcsException {
+    syncRepository(root, progressConsumer);
     ServerHgRepo repo = createRepo(root, myVcs.getWorkingDir(root));
 
     if (!repo.supportRevsets())