Database maintenance describes process of repair as - If the backup and the remote storage is out of sync, Duplicati will require that you perform a repair operation to synchronize the database. - but rather it means, repair synchronize database not to the local state but to the last know database state.
Lets consider a small test backup, consist of files test1, test2, test3 and Duplicati local database1. Run our test again to add a few add test4, test5, and test6 plus newly created local database2. Lets assume system crash and restore from image. We have now database1 and set of local backup test files 1-6. Now, if we run “repair and delete local database” we’ll be all good and fine (Duplicati does synchronize properly), but if we choose repair only, we’ll land in the situation where Duplicati restore local backup to the level of database1, we’ll have files test1-3 - but - test files 4-6 we’ll be deleted from local backup. And that behavior is, I think, something to consider in the crash and restore situations.
Ps. Repair only database show this sets of errors:
2020-05-23 12:18:37 +02 - [Error-Duplicati.Library.Main.Operation.RepairHandler-FailedNewIndexFile]: Failed to accept new index file: duplicati-ic9accf3a0e0f4e408e4e07705f02dcce.dindex.zip, message: Volume duplicati-b64b930df98344e08b3423003b5c78878.dblock.zip has local state Deleting
Duplicati ver. 18.104.22.168 Windows x64, Home