diff options
author | Matthias Sohn <matthias.sohn@sap.com> | 2015-08-26 16:16:28 -0400 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org <gerrit@eclipse.org> | 2015-08-26 16:16:30 -0400 |
commit | cc50ec2d87db5d0266aa5ffe6e541039f9157f67 (patch) | |
tree | 01fcf3f7bc614ebfd6c4d01e4812bcfedd240907 | |
parent | b5941c74e59e64c5fd374a09067e74e26eed2612 (diff) | |
parent | cb08dd8b14bf4900c7974dd1ce5a3d553016585a (diff) | |
download | jgit-cc50ec2d87db5d0266aa5ffe6e541039f9157f67.tar.gz jgit-cc50ec2d87db5d0266aa5ffe6e541039f9157f67.zip |
Merge "Add public isStaleFileHandle() API, improve detection."
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java | 5 | ||||
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java | 11 |
2 files changed, 12 insertions, 4 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java index 796109aee2..a430d1a6f1 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java @@ -114,8 +114,6 @@ public class ObjectDirectory extends FileObjectDatabase { /** Maximum number of candidates offered as resolutions of abbreviation. */ private static final int RESOLVE_ABBREV_LIMIT = 256; - private static final String STALE_FILE_HANDLE_MSG = "stale file handle"; //$NON-NLS-1$ - private final Config config; private final File objects; @@ -565,8 +563,7 @@ public class ObjectDirectory extends FileObjectDatabase { } else if (e instanceof FileNotFoundException) { warnTmpl = JGitText.get().packWasDeleted; removePack(p); - } else if (e.getMessage() != null - && e.getMessage().toLowerCase().contains(STALE_FILE_HANDLE_MSG)) { + } else if (FileUtils.isStaleFileHandle(e)) { warnTmpl = JGitText.get().packHandleIsStale; removePack(p); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java index 56eecc48d3..126384b7ae 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java @@ -514,4 +514,15 @@ public class FileUtils { } return builder.toString(); } + + /** + * Determine if an IOException is a Stale NFS File Handle + * + * @param ioe + * @return a boolean true if the IOException is a Stale NFS FIle Handle + */ + public static boolean isStaleFileHandle(IOException ioe) { + String msg = ioe.getMessage(); + return msg != null && msg.toLowerCase().matches("stale .*file .*handle"); + } } |