changeset 253:3d1038cbb475

Create an empty mapping file to not log that map file does not exist on every startup
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Tue, 17 May 2011 20:12:08 +0400
parents ebd553ff36c5
children 2c2a278ea510 0eed01dbf993
files mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MirrorManager.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MirrorManagerTest.java
diffstat 2 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MirrorManager.java	Fri May 13 16:09:32 2011 +0400
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MirrorManager.java	Tue May 17 20:12:08 2011 +0400
@@ -199,10 +199,17 @@
         return new ArrayList<String>();
       }
     } else {
-      LOG.info("No mapping file found at " + myMappingFile.getAbsolutePath() + " starting with empty mapping");
+      LOG.debug("No mapping file found at " + myMappingFile.getAbsolutePath() + " starting with empty mapping");
       File parentDir = myMappingFile.getParentFile();
       if (!parentDir.exists() && !parentDir.mkdirs()) {
         LOG.error("Cannot create local mirrors dir at " + parentDir.getAbsolutePath());
+      } else {
+        try {
+          if (!myMappingFile.createNewFile())
+            LOG.warn("Someone else creates a mapping file " + myMappingFile.getAbsolutePath() + ", will use it");
+        } catch (IOException e) {
+          LOG.error("Cannot create a mapping file at " + myMappingFile.getAbsolutePath(), e);
+        }
       }
       return new ArrayList<String>();
     }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MirrorManagerTest.java	Fri May 13 16:09:32 2011 +0400
+++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MirrorManagerTest.java	Tue May 17 20:12:08 2011 +0400
@@ -35,6 +35,11 @@
   }
 
 
+  public void manager_should_create_an_empty_map_file() {
+    assertTrue(myRootDir.listFiles().length == 1);
+  }
+
+
   public void getMirrorDir_returns_dir_under_root() {
     File mirrorDir = myManager.getMirrorDir("hg://some.com/repository.hg");
     assertEquals(myRootDir, mirrorDir.getParentFile());