changeset 872:a6405f5aad54

TW-19916 more support for custom mercurial config
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Wed, 24 Sep 2014 20:38:50 +0200
parents 8b0a27214abf
children 95e7d2ff8945
files mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CheckoutRepository.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java
diffstat 2 files changed, 21 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CheckoutRepository.java	Wed Sep 24 19:58:13 2014 +0200
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CheckoutRepository.java	Wed Sep 24 20:38:50 2014 +0200
@@ -93,17 +93,13 @@
     String rev = updateMirror(root, revision);
     String mirrorUrl = getMirrorUrl(root);
 
-    if (repo.isValidRepository()) {
-      repo.pull().fromRepository(mirrorUrl)
-              .withTimeout(myPullTimeout)
-              .call();
-    } else {
-      repo.doClone().fromRepository(mirrorUrl)
-              .setUpdateWorkingDir(false)
-              .call();
-
-      repo.setDefaultPath(root.getRepository());
-    }
+    if (!repo.isValidRepository())
+      repo.init().call();
+    repo.pull().fromRepository(mirrorUrl)
+            .withTimeout(myPullTimeout)
+            .call();
+    repo.setDefaultPath(root.getRepository());
+    repo.setTeamCityConfig(root.getCustomHgConfig());
     return rev;
   }
 
@@ -176,17 +172,14 @@
         return revision;
       }
 
-      if (repo.isValidRepository()) {
-        repo.pull().fromRepository(root.getRepository())
-                .withTimeout(myPullTimeout)
-                .call();
-      } else {
-        repo.doClone().fromRepository(root.getRepository())
-                .setUpdateWorkingDir(false)
-                .useUncompressedTransfer(root.isUncompressedTransfer())
-                .call();
-        repo.setDefaultPath(root.getRepository());
-      }
+      if (!repo.isValidRepository())
+        repo.init().call();
+
+      repo.pull().fromRepository(root.getRepository())
+              .withTimeout(myPullTimeout)
+              .call();
+      repo.setDefaultPath(root.getRepository());
+      repo.setTeamCityConfig(root.getCustomHgConfig());
 
       if (revision != null)
         return revision;
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Wed Sep 24 19:58:13 2014 +0200
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Wed Sep 24 20:38:50 2014 +0200
@@ -384,12 +384,10 @@
           Loggers.VCS.debug("Repository '" + root.getRepository() + "' has subrepos at revision " + toVer.getId() + ", use 'hg clone' to build clean patch");
           final File mirrorDir = getWorkingDir(root);
           final HgRepo cloneOfTheMirror = createRepo(root, tempDir);
-          cloneOfTheMirror.doClone().fromRepository(mirrorDir)
-                  .setUpdateWorkingDir(false)
-                  .setUsePullProtocol(false)
-                  .useUncompressedTransfer(false)
-                  .call();
+          cloneOfTheMirror.init().call();
           cloneOfTheMirror.setDefaultPath(root.getRepository());
+          cloneOfTheMirror.setTeamCityConfig(root.getCustomHgConfig());
+          cloneOfTheMirror.pull().fromRepository(mirrorDir).call();
           cloneSubrepos(root, tempDir, subrepos);
           cloneOfTheMirror.update().toRevision(toVer).call();
           buildPatchFromDirectory(builder, tempDir, checkoutRules, myIgnoreDotHgFilter);
@@ -437,13 +435,10 @@
         File subrepoMirrorDir = getWorkingDir(subrepoRoot);
         File subrepoDir = new File(mainRootDir, path);
         HgRepo cloneOfSubrepoMirror = createRepo(subrepoRoot, subrepoDir);
-        cloneOfSubrepoMirror.doClone().fromRepository(subrepoMirrorDir)
-                .setUpdateWorkingDir(false)
-                .setUsePullProtocol(false)
-                .useUncompressedTransfer(false)
-                .call();
+        cloneOfSubrepoMirror.init().call();
         cloneOfSubrepoMirror.setDefaultPath(subrepoUrl);
-
+        cloneOfSubrepoMirror.setTeamCityConfig(mainRoot.getCustomHgConfig());
+        cloneOfSubrepoMirror.pull().fromRepository(subrepoMirrorDir).call();
         Map<String, SubRepo> subSubrepos = subrepo.getSubrepositories(subrepoConfig.revision());
         if (!subSubrepos.isEmpty())
           cloneSubrepos(subrepoRoot, subrepoDir, subSubrepos);