Mercurial > hg > mercurial
changeset 478:0a33f3dbd261 Faradi-7.1.x
Ensure temp dirs are deleted
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Wed, 26 Sep 2012 14:58:55 +0400 |
parents | aa19481a91c3 |
children | 13774bd54463 efba721f9a1d |
files | mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgRepo.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java |
diffstat | 4 files changed, 24 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java Mon Sep 10 20:32:42 2012 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgFileUtil.java Wed Sep 26 14:58:55 2012 +0400 @@ -1,6 +1,10 @@ package jetbrains.buildServer.buildTriggers.vcs.mercurial; +import com.intellij.openapi.diagnostic.Logger; +import jetbrains.buildServer.log.Loggers; import jetbrains.buildServer.util.FileUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.io.File; import java.io.IOException; @@ -33,4 +37,12 @@ return dir; } + + public static void deleteDir(@Nullable File dir, @NotNull Logger logger) { + if (dir == null) + return; + boolean dirDeleted = FileUtil.delete(dir); + if (!dirDeleted) + logger.warn("Cannot delete directory " + dir.getAbsolutePath()); + } }
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgRepo.java Mon Sep 10 20:32:42 2012 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgRepo.java Wed Sep 26 14:58:55 2012 +0400 @@ -1,6 +1,7 @@ package jetbrains.buildServer.buildTriggers.vcs.mercurial; import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.*; +import jetbrains.buildServer.log.Loggers; import jetbrains.buildServer.util.FileUtil; import jetbrains.buildServer.vcs.VcsException; import org.jetbrains.annotations.NotNull; @@ -11,6 +12,7 @@ import static com.intellij.openapi.util.io.FileUtil.delete; import static java.util.Collections.emptyMap; +import static jetbrains.buildServer.buildTriggers.vcs.mercurial.HgFileUtil.deleteDir; import static jetbrains.buildServer.util.FileUtil.isEmptyDir; /** @@ -165,8 +167,7 @@ } catch (VcsException e) { return emptyMap(); } finally { - if (catDir != null) - delete(catDir); + deleteDir(catDir, Loggers.VCS); } }
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java Mon Sep 10 20:32:42 2012 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java Wed Sep 26 14:58:55 2012 +0400 @@ -17,6 +17,7 @@ import com.intellij.execution.configurations.GeneralCommandLine; import jetbrains.buildServer.buildTriggers.vcs.mercurial.HgFileUtil; +import jetbrains.buildServer.log.Loggers; import jetbrains.buildServer.vcs.VcsException; import org.jetbrains.annotations.NotNull; @@ -29,6 +30,7 @@ import static com.intellij.openapi.util.io.FileUtil.delete; import static java.util.Collections.singletonList; +import static jetbrains.buildServer.buildTriggers.vcs.mercurial.HgFileUtil.deleteDir; import static jetbrains.buildServer.buildTriggers.vcs.mercurial.command.CommandExecutionSettingsBuilder.with; public class CatCommand extends VcsRootCommand { @@ -82,8 +84,7 @@ catFiles(relPaths, checkFailure, tempDir); return tempDir; } catch (VcsException e) { - if (tempDir != null) - delete(tempDir); + deleteDir(tempDir, Loggers.VCS); throw e; } }
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Mon Sep 10 20:32:42 2012 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Wed Sep 26 14:58:55 2012 +0400 @@ -39,6 +39,8 @@ import java.io.IOException; import java.util.*; +import static jetbrains.buildServer.buildTriggers.vcs.mercurial.HgFileUtil.deleteDir; + /** * Mercurial VCS plugin for TeamCity works as follows: * <ul> @@ -178,7 +180,7 @@ } catch (IOException e) { throw new VcsException("Failed to load content of file " + filePath + " at revision " + version, e); } finally { - deleteTmpDir(parentDir); + deleteDir(parentDir, Loggers.VCS); } } @@ -306,14 +308,7 @@ } } } finally { - deleteTmpDir(parentDir); - } - } - - private void deleteTmpDir(File parentDir) { - boolean dirDeleted = FileUtil.delete(parentDir); - if (!dirDeleted) { - Loggers.VCS.warn("Can not delete directory \"" + parentDir.getAbsolutePath() + "\""); + deleteDir(parentDir, Loggers.VCS); } } @@ -343,7 +338,7 @@ buildPatchFromDirectory(builder, tempDir, checkoutRules, myAcceptAllFilter); } } finally { - FileUtil.delete(tempDir); + deleteDir(tempDir, Loggers.VCS); } } @@ -717,8 +712,7 @@ repo.push().toRepository(hgRoot.getRepository()).call(); return fixedTagname; } finally { - if (tmpDir != null) - FileUtil.delete(tmpDir); + deleteDir(tmpDir, Loggers.VCS); } }