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" "errors"
"os" "os"
"path/filepath" "path/filepath"
"runtime"
"time" "time"
"github.com/calmh/syncthing/config" "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 return nil
} }
@ -373,7 +356,7 @@ func (p *puller) handleBlock(b bqBlock) bool {
if debug { if debug {
l.Debugf("create dir: %v", f) l.Debugf("create dir: %v", f)
} }
err = os.MkdirAll(path, 0777) err = os.MkdirAll(path, os.FileMode(f.Flags&0777))
if err != nil { if err != nil {
l.Warnf("Create folder: %q: %v", path, err) 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 { if w.CurrentFiler != nil {
cf := w.CurrentFiler.CurrentFile(rn) cf := w.CurrentFiler.CurrentFile(rn)
permUnchanged := w.IgnorePerms || !protocol.HasPermissionBits(cf.Flags) || PermsEqual(cf.Flags, uint32(info.Mode())) 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 { if debug {
l.Debugln("unchanged:", cf) l.Debugln("unchanged:", cf)
} }