changeset 623:0d44c31bb36c Gaya-8.0.x

Another workaround for 'access denied' error
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Thu, 01 Aug 2013 13:17:21 +0400
parents 020f33b63d59
children 7c04874db9e4 d5b4cd89ce46
files mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java
diffstat 1 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java	Thu Aug 01 12:51:00 2013 +0400
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java	Thu Aug 01 13:17:21 2013 +0400
@@ -4,6 +4,7 @@
 import jetbrains.buildServer.util.FileUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
+import com.intellij.openapi.util.SystemInfo;
 
 import java.io.File;
 import java.io.FileFilter;
@@ -45,8 +46,16 @@
         //a file and there is a dir with a same name (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6325169)
         if (dir.exists())
           continue;
-        if (!dir.createNewFile())
-          continue;
+        try {
+          if (!dir.createNewFile())
+            continue;
+        } catch (IOException e) {
+          //one more workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6325169
+          if (SystemInfo.isWindows && "Access is denied".equals(e.getMessage()) && dir.exists()) {
+            continue;
+          }
+          throw e;
+        }
         if (!dir.delete())
           continue;
         if (!dir.mkdir())