From a986c83bbfb94a5714f6180ecfaeb9aa5e14f8ff Mon Sep 17 00:00:00 2001 From: Kenneth Skovhede Date: Fri, 16 May 2025 14:48:07 +0200 Subject: [PATCH] Fixed purge-broken-files and list-broken-files not reading db settings. This fixes #6070 --- Duplicati/Library/Main/Operation/ListBrokenFilesHandler.cs | 4 ++++ Duplicati/Library/Main/Operation/PurgeBrokenFilesHandler.cs | 3 +++ 2 files changed, 7 insertions(+) diff --git a/Duplicati/Library/Main/Operation/ListBrokenFilesHandler.cs b/Duplicati/Library/Main/Operation/ListBrokenFilesHandler.cs index dcca28a80..7cf9fc0ff 100644 --- a/Duplicati/Library/Main/Operation/ListBrokenFilesHandler.cs +++ b/Duplicati/Library/Main/Operation/ListBrokenFilesHandler.cs @@ -52,7 +52,11 @@ namespace Duplicati.Library.Main.Operation using (var db = new Database.LocalListBrokenFilesDatabase(m_options.Dbpath, m_options.SqlitePageCache)) using (var tr = db.BeginTransaction()) + { + Utility.UpdateOptionsFromDb(db, m_options); + Utility.VerifyOptionsAndUpdateDatabase(db, m_options); await DoRunAsync(backendManager, db, tr, filter, callbackhandler).ConfigureAwait(false); + } } public static async Task<((DateTime FilesetTime, long FilesetID, long RemoveCount)[], List Missing)> GetBrokenFilesetsFromRemote(IBackendManager backendManager, BasicResults result, Database.LocalListBrokenFilesDatabase db, System.Data.IDbTransaction transaction, Options options) diff --git a/Duplicati/Library/Main/Operation/PurgeBrokenFilesHandler.cs b/Duplicati/Library/Main/Operation/PurgeBrokenFilesHandler.cs index 491958fee..ee826cbe8 100644 --- a/Duplicati/Library/Main/Operation/PurgeBrokenFilesHandler.cs +++ b/Duplicati/Library/Main/Operation/PurgeBrokenFilesHandler.cs @@ -57,6 +57,9 @@ namespace Duplicati.Library.Main.Operation if (db.PartiallyRecreated) throw new UserInformationException("The command does not work on partially recreated databases", "CannotPurgeOnPartialDatabase"); + Utility.UpdateOptionsFromDb(db, m_options); + Utility.VerifyOptionsAndUpdateDatabase(db, m_options); + (var sets, var missing) = await ListBrokenFilesHandler.GetBrokenFilesetsFromRemote(backendManager, m_result, db, tr, m_options).ConfigureAwait(false); if (sets == null) return;