changeset 865:3d700493d033

Ability to profile hg pull on server
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Mon, 15 Sep 2014 19:39:59 +0200
parents 98657a5c5cb1
children 3795b579d310
files mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfig.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigImpl.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigBuilder.java
diffstat 4 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Wed Aug 27 17:34:59 2014 +0200
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Mon Sep 15 19:39:59 2014 +0200
@@ -534,6 +534,7 @@
         try {
           repo.pull().fromRepository(root.getRepository())
                   .withTimeout(myConfig.getPullTimeout())
+                  .withProfile(myConfig.runWithProfile(root))
                   .call();
         } catch (UnrelatedRepositoryException e) {
           Loggers.VCS.warn("Repository at " + root.getRepository() + " is unrelated, clone it again");
@@ -597,6 +598,7 @@
           repo.pull().fromRepository(root.getRepository())
                   .withTimeout(myConfig.getPullTimeout())
                   .withProgressConsumer(settings.getProgressConsumer())
+                  .withProfile(myConfig.runWithProfile(root))
                   .call();
       } else {
         repo.doClone().fromRepository(root.getRepository())
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfig.java	Wed Aug 27 17:34:59 2014 +0200
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfig.java	Mon Sep 15 19:39:59 2014 +0200
@@ -16,6 +16,8 @@
 
 package jetbrains.buildServer.buildTriggers.vcs.mercurial;
 
+import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.HgVcsRoot;
+import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.quartz.CronExpression;
 
@@ -55,4 +57,6 @@
   public int listFilesTTLSeconds();
 
   public String getMergeTool();
+
+  public boolean runWithProfile(@NotNull HgVcsRoot root);
 }
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigImpl.java	Wed Aug 27 17:34:59 2014 +0200
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigImpl.java	Mon Sep 15 19:39:59 2014 +0200
@@ -17,6 +17,7 @@
 package jetbrains.buildServer.buildTriggers.vcs.mercurial;
 
 import com.intellij.openapi.diagnostic.Logger;
+import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.HgVcsRoot;
 import jetbrains.buildServer.serverSide.CachePaths;
 import jetbrains.buildServer.serverSide.TeamCityProperties;
 import jetbrains.buildServer.util.Dates;
@@ -120,4 +121,9 @@
   public String getMergeTool() {
     return TeamCityProperties.getProperty("teamcity.hg.mergeTool", "internal:merge");
   }
+
+  public boolean runWithProfile(@NotNull HgVcsRoot root) {
+    String urls = TeamCityProperties.getProperty("teamcity.hg.runCommandsWithProfile");
+    return urls.contains(root.getRepository());
+  }
 }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigBuilder.java	Wed Aug 27 17:34:59 2014 +0200
+++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigBuilder.java	Mon Sep 15 19:39:59 2014 +0200
@@ -16,6 +16,7 @@
 
 package jetbrains.buildServer.buildTriggers.vcs.mercurial;
 
+import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.HgVcsRoot;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.quartz.CronExpression;
@@ -106,6 +107,10 @@
       public String getMergeTool() {
         return "internal:merge";
       }
+
+      public boolean runWithProfile(@NotNull HgVcsRoot root) {
+        return false;
+      }
     };
   }