summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Frei <freisim93@gmail.com>2021-07-23 14:26:20 +0200
committerGitHub <noreply@github.com>2021-07-23 14:26:20 +0200
commitdc0dd09e935b76957ba91b674e93e3749e7b667a (patch)
tree84f46bf60c3609330b67566dc78f51c2a3656124
parent7ec76095e6abd6c84b60c8cfe1f814188f1f9777 (diff)
lib/model: Don't try to delete deleted item on revert (#7843)v1.18.1-rc.2
-rw-r--r--lib/model/folder_recvonly.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/model/folder_recvonly.go b/lib/model/folder_recvonly.go
index 6351409bfc..1f57ebf88d 100644
--- a/lib/model/folder_recvonly.go
+++ b/lib/model/folder_recvonly.go
@@ -112,7 +112,10 @@ func (f *receiveOnlyFolder) revert() error {
// The global file is our own. A revert then means to delete it.
// We'll delete files directly, directories get queued and
// handled below.
-
+ if fi.Deleted {
+ fi.Version = protocol.Vector{} // if this file ever resurfaces anywhere we want our delete to be strictly older
+ break
+ }
handled, err := delQueue.handle(fi, snap)
if err != nil {
l.Infof("Revert: deleting %s: %v\n", fi.Name, err)