From e4c995a321da93aed2abaeb16c253130450cae34 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Thu, 15 Apr 2021 18:13:35 +0200 Subject: [PATCH] lib/model: Don't remove non-empty .stfolder (#7578) --- lib/model/model.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/model/model.go b/lib/model/model.go index 00f710703..5610e08ae 100644 --- a/lib/model/model.go +++ b/lib/model/model.go @@ -475,8 +475,13 @@ func (m *model) removeFolder(cfg config.FolderConfiguration) { } } if isPathUnique { - // Delete syncthing specific files - cfg.Filesystem().RemoveAll(config.DefaultMarkerName) + // Remove (if empty and removable) or move away (if non-empty or + // otherwise not removable) Syncthing-specific marker files. + fs := cfg.Filesystem() + if err := fs.Remove(config.DefaultMarkerName); err != nil { + moved := config.DefaultMarkerName + time.Now().Format(".removed-20060102-150405") + _ = fs.Rename(config.DefaultMarkerName, moved) + } } m.cleanupFolderLocked(cfg)