There should be only One

This commit is contained in:
Jakob Borg 2014-05-23 12:55:24 +02:00
parent b60d648e22
commit bcdc3ecdae
3 changed files with 4 additions and 16 deletions

View File

@ -245,7 +245,7 @@ func (p *puller) fixupDirectories() {
return nil return nil
} }
if !permsEqual(cur.Flags, uint32(info.Mode())) { if !scanner.PermsEqual(cur.Flags, uint32(info.Mode())) {
err := os.Chmod(path, os.FileMode(cur.Flags)&os.ModePerm) err := os.Chmod(path, os.FileMode(cur.Flags)&os.ModePerm)
if err != nil { if err != nil {
l.Warnln("Restoring folder flags: %q: %v", path, err) l.Warnln("Restoring folder flags: %q: %v", path, err)

View File

@ -109,15 +109,3 @@ func compareClusterConfig(local, remote protocol.ClusterConfigMessage) error {
return nil return nil
} }
func permsEqual(a, b uint32) bool {
switch runtime.GOOS {
case "windows":
// There is only writeable and read only, represented for user, group
// and other equally. We only compare against user.
return a&0600 == b&0600
default:
// All bits count
return a&0777 == b&0777
}
}

View File

@ -162,7 +162,7 @@ func (w *Walker) walkAndHashFiles(res *[]File, ign map[string][]string) filepath
if info.Mode().IsDir() { if info.Mode().IsDir() {
if w.CurrentFiler != nil { if w.CurrentFiler != nil {
cf := w.CurrentFiler.CurrentFile(rn) cf := w.CurrentFiler.CurrentFile(rn)
if cf.Modified == info.ModTime().Unix() && protocol.IsDirectory(cf.Flags) && permsEqual(cf.Flags, uint32(info.Mode())) { if cf.Modified == info.ModTime().Unix() && protocol.IsDirectory(cf.Flags) && PermsEqual(cf.Flags, uint32(info.Mode())) {
if debug { if debug {
l.Debugln("unchanged:", cf) l.Debugln("unchanged:", cf)
} }
@ -186,7 +186,7 @@ func (w *Walker) walkAndHashFiles(res *[]File, ign map[string][]string) filepath
if info.Mode().IsRegular() { if info.Mode().IsRegular() {
if w.CurrentFiler != nil { if w.CurrentFiler != nil {
cf := w.CurrentFiler.CurrentFile(rn) cf := w.CurrentFiler.CurrentFile(rn)
if !protocol.IsDeleted(cf.Flags) && cf.Modified == info.ModTime().Unix() && permsEqual(cf.Flags, uint32(info.Mode())) { if !protocol.IsDeleted(cf.Flags) && cf.Modified == info.ModTime().Unix() && PermsEqual(cf.Flags, uint32(info.Mode())) {
if debug { if debug {
l.Debugln("unchanged:", cf) l.Debugln("unchanged:", cf)
} }
@ -283,7 +283,7 @@ func checkDir(dir string) error {
return nil return nil
} }
func permsEqual(a, b uint32) bool { func PermsEqual(a, b uint32) bool {
switch runtime.GOOS { switch runtime.GOOS {
case "windows": case "windows":
// There is only writeable and read only, represented for user, group // There is only writeable and read only, represented for user, group