Handle conflict with local delete (fixes #1722)

This commit is contained in:
Jakob Borg 2015-04-28 11:33:54 +02:00
parent 50d377d9fe
commit 57ec2ff915

View File

@ -1246,5 +1246,13 @@ func moveForConflict(name string) error {
ext := filepath.Ext(name)
withoutExt := name[:len(name)-len(ext)]
newName := withoutExt + time.Now().Format(".sync-conflict-20060102-150405") + ext
return os.Rename(name, newName)
err := os.Rename(name, newName)
if os.IsNotExist(err) {
// We were supposed to move a file away but it does not exist. Either
// the user has already moved it away, or the conflict was between a
// remote modification and a local delete. In either way it does not
// matter, go ahead as if the move succeeded.
return nil
}
return err
}