From 7150359e4052ae0ed22de4d1c9b8817fb85c2697 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 19 Nov 2024 23:29:27 +0800 Subject: [PATCH] :bug: Automatic cleanup of the local data repo may accidentally delete snapshots https://github.com/siyuan-note/siyuan/issues/13203 --- kernel/model/repository.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/kernel/model/repository.go b/kernel/model/repository.go index 668062291..f170eff89 100644 --- a/kernel/model/repository.go +++ b/kernel/model/repository.go @@ -130,10 +130,14 @@ func autoPurgeRepo(cron bool) { } } + todayDate := now.Format("2006-01-02") // 筛选出每日需要保留的索引 var retentionIndexIDs []string - for _, indexes := range dateGroupedIndexes { - if len(indexes) <= Conf.Repo.RetentionIndexesDaily { + for date, indexes := range dateGroupedIndexes { + if len(indexes) <= Conf.Repo.RetentionIndexesDaily || todayDate == date { + for _, index := range indexes { + retentionIndexIDs = append(retentionIndexIDs, index.ID) + } continue } @@ -153,7 +157,7 @@ func autoPurgeRepo(cron bool) { } retentionIndexIDs = gulu.Str.RemoveDuplicatedElem(retentionIndexIDs) - if 16 > len(retentionIndexIDs) { + if 3 > len(retentionIndexIDs) { logging.LogInfof("no index to purge [ellapsed=%.2fs]", time.Since(now).Seconds()) return }