changeset 417:74487e2c6356

Use shorter temp directory names
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Tue, 17 Apr 2012 16:39:32 +0400
parents 9a467ce09cbd
children 20f5eca6b8ec
files mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java
diffstat 3 files changed, 39 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java	Tue Apr 17 16:39:32 2012 +0400
@@ -0,0 +1,36 @@
+package jetbrains.buildServer.buildTriggers.vcs.mercurial;
+
+import jetbrains.buildServer.util.FileUtil;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * @author dmitry.neverov
+ */
+public final class HgFileUtil {
+
+  private final static String TEMP_DIR_PREFIX = "hg";
+
+  private HgFileUtil() {
+  }
+
+  /**
+   * Create a temp dir with short name
+   * @return created dir
+   * @throws IOException in case of I/O error
+   */
+  public static File createTempDir() throws IOException {
+    File parentDir = new File(FileUtil.getTempDirectory());
+    int suffix = 0;
+    File dir;
+    do {
+      suffix++;
+      dir = new File(parentDir, TEMP_DIR_PREFIX + suffix);
+    } while (!dir.createNewFile());
+    dir.delete();
+    dir.mkdir();
+    return dir;
+  }
+
+}
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java	Tue Apr 17 12:11:28 2012 +0400
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java	Tue Apr 17 16:39:32 2012 +0400
@@ -16,7 +16,7 @@
 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command;
 
 import com.intellij.execution.configurations.GeneralCommandLine;
-import jetbrains.buildServer.util.FileUtil;
+import jetbrains.buildServer.buildTriggers.vcs.mercurial.HgFileUtil;
 import jetbrains.buildServer.vcs.VcsException;
 import org.jetbrains.annotations.NotNull;
 
@@ -90,7 +90,7 @@
 
   private File createTmpDir() throws VcsException {
     try {
-      return FileUtil.createTempDirectory("mercurial", "catresult");
+      return HgFileUtil.createTempDir();
     } catch (IOException e) {
       throw new VcsException("Unable to create temporary directory");
     }
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Tue Apr 17 12:11:28 2012 +0400
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Tue Apr 17 16:39:32 2012 +0400
@@ -333,7 +333,7 @@
   // builds patch by exporting files using specified version
   private void buildFullPatch(final Settings settings, @NotNull final ChangeSet toVer, final PatchBuilder builder, final CheckoutRules checkoutRules)
     throws IOException, VcsException {
-    File tempDir = FileUtil.createTempDirectory("mercurial", toVer.getId());
+    File tempDir = HgFileUtil.createTempDir();
     try {
       HgRepo repo = createRepo(settings);
       if (repo.hasSubreposAtRevision(toVer)) {