changeset 204:ebcca5974cb4 Eluru-6.0.x

Do init+pull instead of clone in agent-side checkout It allows us to clone into non-empty dir
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Thu, 31 Mar 2011 09:31:33 +0400
parents f94608a32388
children ccf0b5ad00c1
files mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialAgentSideVcsSupport.java
diffstat 1 files changed, 7 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialAgentSideVcsSupport.java	Thu Jan 13 11:46:51 2011 +0300
+++ b/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialAgentSideVcsSupport.java	Thu Mar 31 09:31:33 2011 +0400
@@ -39,13 +39,6 @@
     logger.message("Working directory updated successfully");
   }
 
-  private void doClone(final Settings settings, final File workingDir) throws VcsException {
-    CloneCommand cc = new CloneCommand(settings);
-    cc.setDestDir(workingDir.getAbsolutePath());
-    cc.setUpdateWorkingDir(false);
-    cc.execute();
-  }
-
   @NotNull
   @Override
   public UpdatePolicy getUpdatePolicy() {
@@ -69,16 +62,15 @@
 
         Settings settings = new Settings(workingDir, vcsRoot);
         settings.setWorkingDir(workingDir);
-        if (settings.hasCopyOfRepository()) {
-          logger.message("Repository in working directory found, start pulling changes");
-          PullCommand pc = new PullCommand(settings);
-          pc.execute();
-          logger.message("Changes successfully pulled");
+        if (!settings.hasCopyOfRepository()) {
+          logger.message("Init repository at " + workingDir.getAbsolutePath());
+          new Init(settings).execute();
         } else {
-          logger.message("No repository in working directory found, start cloning repository to temporary folder");
-          doClone(settings, workingDir);
-          logger.message("Repository successfully cloned to: " + workingDir.getAbsolutePath());
+          logger.message("Repository is found at " + workingDir.getAbsolutePath());
         }
+        logger.message("Start pulling changes to repository at " + workingDir.getAbsolutePath());
+        new PullCommand(settings).execute();
+        logger.message("Changes successfully pulled");
         updateWorkingDir(settings, toVersion, logger);
       }