My database increased significantly after I attached a large file and deleting the file didn't restore the database to the smaller size. Turns out that the file is kept in "history" and even if I delete the history, after sync-ing, the entire history including this file reappears in the database.
My setup is that I am using a trigger and webdav to auto-sync to a cloud location (myDrive) each time I save my database locally.
Is there any way to keep the database history from reappearing if I am using this setup with auto-sync?
Entry histories are always merged, never deleted (except by the automatic history maintenance).
So, in order to delete a history entry, open your two databases and delete the history entry from both manually.
Thanks Dominik. I ended up saving the file locally as well as uploading it to the cloud without syncing so I assume it is fixed.
What's automatic history maintenance btw? The rule to limit history to X number of entries / Y number of kB ?
Oh and I need to remember to copy the database now to all my other computers / locations without syncing to avoid re-appearance of the history :) lol
File > Database Settings > Advanced
Thanks for the explanation, Dominik.
I have five devices, so it is a bit tedious. Is there a fix for this in the pipeline?
To reduce the history size in the entire database, adjust either "Limit number of history items per entry" or "Limit history size per entry (MB)" in "File>Database Settings...>Advance(tab)'
To remove the history from selected entries choose 'Edit>Duplicate Entry' and deselect the 'Copy History' check box in the 'Duplication Options' dialog. Finally delete the original entries and synchronize. CAUTION: Do not check 'Replace user names and passwords by references'
Thank you for replying. This is the scenario:
- find an entry with some old history
- delete some of those old history
All of the deleted history has returned. However, having tried to think up the logic that would be necessary in the history-merge in sync, to solve this while not losing anything that could be wanted, I've not thought of a solution yet. If I do ...
The History depth is set for the entire database in 'File>Database Settings>Advanced(tab)'. During a sync, an entry's history will be restored to a depth that equals the combined unique history entries of the active and target databases, up to the maximum depth set in database settings for the active database.
To manage history depth for the entire database set the 'limit number of history items per entry' and 'Limit history size per entry (MB)' in Database settings.
The easiest way to remove the history for a single entry is to duplicate the entry without a history (e.g. Right click on the entry, select Duplicate, un-check copy History). Then delete the original entry. At the next sync the original entry will be deleted from both databases and the duplicate (without a history) will be replicated in both databases. Otherwise you need to trim an entry's history to the desired depth individually in every copy of the database before syncing.
See also https://sourceforge.net/p/keepass/discussion/329221/thread/26a2cd48/#bf0f
Log in to post a comment.