]> source.dussan.org Git - jgit.git/commitdiff
FS: ignore AccessDeniedException when measuring timestamp resolution 99/144899/13
authorMatthias Sohn <matthias.sohn@sap.com>
Wed, 26 Jun 2019 07:10:31 +0000 (09:10 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Wed, 17 Jul 2019 07:42:14 +0000 (09:42 +0200)
It seems on cygwin creating a file under a writable directory can fail
with AccessDeniedException. Log a warning in this case and fallback to
worst case timestamp resolution of 2 seconds.

Bug: 548648
Change-Id: Ic50c31ce9dc9ccadd4db5247df929418ac62d45c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java

index 64dbf5823331c6df300493fd08620bb672248486..67634cbe781af06fae25e0d169b3c1413ef3d767 100644 (file)
@@ -56,6 +56,7 @@ import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.PrintStream;
 import java.nio.charset.Charset;
+import java.nio.file.AccessDeniedException;
 import java.nio.file.FileStore;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -312,6 +313,8 @@ public abstract class FS {
                                Duration resolution = Duration.between(t1.toInstant(), t2.toInstant());
                                saveFileTimeResolution(s, resolution);
                                return Optional.of(resolution);
+                       } catch (AccessDeniedException e) {
+                               LOG.warn(e.getLocalizedMessage(), e); // see bug 548648
                        } catch (IOException | TimeoutException e) {
                                LOG.error(e.getLocalizedMessage(), e);
                        } catch (InterruptedException e) {