Fixed recompressing of stale files

This commit is contained in:
Erik Dubbelboer
2020-06-07 11:54:01 +02:00
parent 1671faf0bd
commit 2f28edba01
+4 -1
View File
@@ -1141,7 +1141,10 @@ func (h *fsHandler) openFSFile(filePath string, mustCompress bool) (*fsFile, err
return nil, fmt.Errorf("cannot obtain info for original file %q: %s", filePathOriginal, err)
}
if fileInfoOriginal.ModTime() != fileInfo.ModTime() {
// Only re-create the compressed file if there was more than a second between the mod times.
// On MacOS the gzip seems to truncate the nanoseconds in the mod time causing the original file
// to look newer than the gzipped file.
if fileInfo.ModTime().Sub(fileInfoOriginal.ModTime()) >= time.Second {
// The compressed file became stale. Re-create it.
f.Close()
os.Remove(filePath)