package org.eclipse.jgit.internal.storage.file;
import static org.eclipse.jgit.util.FS.FileStoreAttributes.FALLBACK_FILESTORE_ATTRIBUTES;
-
+import static org.eclipse.jgit.util.FS.FileStoreAttributes.FALLBACK_TIMESTAMP_RESOLUTION;
import java.io.File;
import java.io.IOException;
import java.nio.file.attribute.BasicFileAttributes;
public static FileSnapshot save(long modified) {
final Instant read = Instant.now();
return new FileSnapshot(read, Instant.ofEpochMilli(modified),
- UNKNOWN_SIZE, Duration.ZERO, MISSING_FILEKEY);
+ UNKNOWN_SIZE, FALLBACK_TIMESTAMP_RESOLUTION, MISSING_FILEKEY);
}
/**
*/
public static FileSnapshot save(Instant modified) {
final Instant read = Instant.now();
- return new FileSnapshot(read, modified, UNKNOWN_SIZE, Duration.ZERO,
- MISSING_FILEKEY);
+ return new FileSnapshot(read, modified, UNKNOWN_SIZE,
+ FALLBACK_TIMESTAMP_RESOLUTION, MISSING_FILEKEY);
}
/** Last observed modification time of the path. */
private static final Duration UNDEFINED_DURATION = Duration
.ofNanos(Long.MAX_VALUE);
+ /**
+ * Fallback filesystem timestamp resolution. The worst case timestamp
+ * resolution on FAT filesystems is 2 seconds.
+ */
+ public static final Duration FALLBACK_TIMESTAMP_RESOLUTION = Duration
+ .ofMillis(2000);
+
/**
* Fallback FileStore attributes used when we can't measure the
* filesystem timestamp resolution. The last modified time granularity
* of FAT filesystems is 2 seconds.
*/
public static final FileStoreAttributes FALLBACK_FILESTORE_ATTRIBUTES = new FileStoreAttributes(
- Duration.ofMillis(2000));
+ FALLBACK_TIMESTAMP_RESOLUTION);
private static final Map<FileStore, FileStoreAttributes> attributeCache = new ConcurrentHashMap<>();