From d8bcc84154f2f34ddb8662e7b32daa83fcde45a9 Mon Sep 17 00:00:00 2001 From: Christian Halstrick Date: Wed, 30 Mar 2011 17:29:10 +0200 Subject: [PATCH] Let LockFile.unlock use FileUtils.delete() We sometimes face the problem that the file .git/index.lock can't deleted causing JGit operations to fail. Problem is that LockFile.unlock() simply deletes the lockfile and ignores the return value of File.delete(). Instead use FileUtils.delete() with retry option. This method will retry the deletion of the file at most 10 times with sleeps inbetween. Bug: 335959 Change-Id: I9598edea9f2304fe12e6f470301211b503434848 Signed-off-by: Christian Halstrick --- .../src/org/eclipse/jgit/storage/file/LockFile.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/LockFile.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/LockFile.java index 6acd7132a..08dfd7e19 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/LockFile.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/LockFile.java @@ -488,7 +488,11 @@ public void unlock() { if (haveLck) { haveLck = false; - lck.delete(); + try { + FileUtils.delete(lck, FileUtils.RETRY); + } catch (IOException e) { + // couldn't delete the file even after retry. + } } }