Always ignore directory modification time (that stuff is nasty)

This commit is contained in:
Jakob Borg 2014-07-21 10:48:49 +02:00
parent 0fcc193197
commit d3085a4127
2 changed files with 2 additions and 19 deletions

View File

@ -9,7 +9,6 @@ import (
"errors"
"os"
"path/filepath"
"runtime"
"time"
"github.com/calmh/syncthing/config"
@ -278,22 +277,6 @@ func (p *puller) fixupDirectories() {
}
}
if cur.Modified != info.ModTime().Unix() {
t := time.Unix(cur.Modified, 0)
err := os.Chtimes(path, t, t)
if err != nil {
if runtime.GOOS != "windows" {
// https://code.google.com/p/go/issues/detail?id=8090
l.Warnf("Restoring folder modtime: %q: %v", path, err)
}
} else {
changed++
if debug {
l.Debugf("restored dir modtime: %d -> %v", info.ModTime().Unix(), cur)
}
}
}
return nil
}
@ -373,7 +356,7 @@ func (p *puller) handleBlock(b bqBlock) bool {
if debug {
l.Debugf("create dir: %v", f)
}
err = os.MkdirAll(path, 0777)
err = os.MkdirAll(path, os.FileMode(f.Flags&0777))
if err != nil {
l.Warnf("Create folder: %q: %v", path, err)
}

View File

@ -166,7 +166,7 @@ func (w *Walker) walkAndHashFiles(fchan chan protocol.FileInfo, ign map[string][
if w.CurrentFiler != nil {
cf := w.CurrentFiler.CurrentFile(rn)
permUnchanged := w.IgnorePerms || !protocol.HasPermissionBits(cf.Flags) || PermsEqual(cf.Flags, uint32(info.Mode()))
if !protocol.IsDeleted(cf.Flags) && cf.Modified == info.ModTime().Unix() && protocol.IsDirectory(cf.Flags) && permUnchanged {
if !protocol.IsDeleted(cf.Flags) && protocol.IsDirectory(cf.Flags) && permUnchanged {
if debug {
l.Debugln("unchanged:", cf)
}