changeset 84:0b93ba1c71e5

TW-10225
author Pavel.Sher
date Wed, 25 Nov 2009 00:46:31 +0300
parents 3049d50a0a85
children 86c7235a11fa dc26ddd9ffd4
files mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java mercurial.ipr
diffstat 2 files changed, 23 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java	Fri Oct 23 15:34:42 2009 +0400
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java	Wed Nov 25 00:46:31 2009 +0300
@@ -22,10 +22,13 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.util.LinkedList;
 import java.util.List;
+import java.util.Queue;
 
 public class CatCommand extends BaseCommand {
   private String myRevId;
+  private final static int MAX_CMD_LEN = 900;
 
   public CatCommand(@NotNull final Settings settings) {
     super(settings);
@@ -49,6 +52,24 @@
       }
     }
 
+    Queue<String> paths = new LinkedList<String>(relPaths);
+    while (!paths.isEmpty()) {
+      GeneralCommandLine cli = createCommandLine(tempDir);
+      int cmdSize = cli.getCommandLineString().length();
+
+      do {
+        String path = paths.poll();
+        cli.addParameter(path);
+        cmdSize += path.length();
+      } while (cmdSize < MAX_CMD_LEN && !paths.isEmpty());
+
+      runCommand(cli);
+    }
+
+    return tempDir;
+  }
+
+  private GeneralCommandLine createCommandLine(final File tempDir) {
     GeneralCommandLine cli = createCommandLine();
     cli.addParameter("cat");
     cli.addParameter("-o");
@@ -57,10 +78,6 @@
       cli.addParameter("-r");
       cli.addParameter(myRevId);
     }
-    for (String p: relPaths) {
-      cli.addParameter(FileUtil.normalizeSeparator(p));
-    }
-    runCommand(cli);
-    return tempDir;
+    return cli;
   }
 }
--- a/mercurial.ipr	Fri Oct 23 15:34:42 2009 +0400
+++ b/mercurial.ipr	Wed Nov 25 00:46:31 2009 +0300
@@ -34,7 +34,6 @@
   </component>
   <component name="CompilerConfiguration">
     <option name="DEFAULT_COMPILER" value="Javac" />
-    <option name="DEPLOY_AFTER_MAKE" value="0" />
     <resourceExtensions>
       <entry name=".+\.(properties|xml|html|dtd|tld)" />
       <entry name=".+\.(gif|png|jpeg|jpg)" />
@@ -52,6 +51,7 @@
       <entry name="?*.jsp" />
       <entry name="?*.tag" />
     </wildcardResourcePatterns>
+    <annotationProcessing enabled="false" useClasspath="true" />
   </component>
   <component name="CopyrightManager" default="">
     <module2copyright />