浏览代码

Merge "Add IGNORE_ERRORS to FileUtils.delete()"

tags/v2.0.0.201206130900-r
Matthias Sohn 12 年前
父节点
当前提交
0211d91001
共有 1 个文件被更改,包括 10 次插入3 次删除
  1. 10
    3
      org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java

+ 10
- 3
org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java 查看文件

@@ -77,6 +77,11 @@ public class FileUtils {
*/
public static final int SKIP_MISSING = 4;

/**
* Option not to throw exceptions when a deletion finally doesn't succeed.
*/
public static final int IGNORE_ERRORS = 8;

/**
* Delete file or empty folder
*
@@ -106,7 +111,8 @@ public class FileUtils {
* if deletion of {@code f} fails. This may occur if {@code f}
* didn't exist when the method was called. This can therefore
* cause IOExceptions during race conditions when multiple
* concurrent threads all try to delete the same file.
* concurrent threads all try to delete the same file. This
* exception is not thrown when IGNORE_ERRORS is set.
*/
public static void delete(final File f, int options) throws IOException {
if ((options & SKIP_MISSING) != 0 && !f.exists())
@@ -131,8 +137,9 @@ public class FileUtils {
return;
}
}
throw new IOException(MessageFormat.format(
JGitText.get().deleteFileFailed, f.getAbsolutePath()));
if ((options & IGNORE_ERRORS) == 0)
throw new IOException(MessageFormat.format(
JGitText.get().deleteFileFailed, f.getAbsolutePath()));
}
}


正在加载...
取消
保存