Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Milanesio2018-07-08 22:41:00 +0000
committerLuca Milanesio2018-07-08 22:44:17 +0000
commit5a8ad44208c8b711077b9235839b66cd50803ede (patch)
treeba5cd59191d705c577090711b671a66d8b7555a1
parent1dcb0688c7c229501e6a486c03ffe251d5ed2761 (diff)
downloadjgit-5a8ad44208c8b711077b9235839b66cd50803ede.tar.gz
jgit-5a8ad44208c8b711077b9235839b66cd50803ede.tar.xz
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>
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java8
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();
}

Back to the top