diff options
author | Luca Milanesio <luca.milanesio@gmail.com> | 2018-07-08 23:41:00 +0100 |
---|---|---|
committer | Luca Milanesio <luca.milanesio@gmail.com> | 2018-07-08 23:44:17 +0100 |
commit | 5a8ad44208c8b711077b9235839b66cd50803ede (patch) | |
tree | ba5cd59191d705c577090711b671a66d8b7555a1 /org.eclipse.jgit | |
parent | 1dcb0688c7c229501e6a486c03ffe251d5ed2761 (diff) | |
download | jgit-5a8ad44208c8b711077b9235839b66cd50803ede.tar.gz jgit-5a8ad44208c8b711077b9235839b66cd50803ede.zip |
Do not ignore path deletion errors
Log as warning when an attempt to remove a directory
fails. This helps troubleshooting some bugs like the GC leaving
behind empty directories.
Change-Id: Idb94ce17f8be9668a970c7ecae31436bf434073c
Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
Diffstat (limited to 'org.eclipse.jgit')
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java index 51701f6dd3..48fdf8119f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java @@ -63,6 +63,7 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; +import java.nio.file.Files; import java.security.DigestInputStream; import java.security.MessageDigest; import java.text.MessageFormat; @@ -1090,8 +1091,11 @@ public class RefDirectory extends RefDatabase { } File dir = file.getParentFile(); for (int i = 0; i < depth; ++i) { - if (!dir.delete()) { - break; // ignore problem here + try { + Files.delete(dir.toPath()); + } catch (IOException e) { + LOG.warn("Unable to remove path {}", dir, e); + break; } dir = dir.getParentFile(); } |