keepassxreboot / keepassxc

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
https://keepassxc.org/
Other
20.75k stars 1.44k forks source link

An option to completely ignore tree folding / unfolding changes. #11193

Closed Antonnon closed 3 weeks ago

Antonnon commented 3 weeks ago

Summary

An option (program setting) to completely ignore tree folding changes - to simplify KeepassXC usage with VCS (git). We are speaking only about folding changes (any other changes - entries, groups, tree structure should be considered as "good useful" changes ).

Examples

In UI it looks just like other data managing options in General Application Settings tab

Context

When you are browsing the database , searching etc. you sometimes change the tree structure folding. This is in fact completely non-data change - you do not create, edit or delete something. While it may be useful for complex structures to restore the previous view , it becomes a roadblock when you are tracking database file changes in VCS (e. g. git ). For example - you unlock the database, browse for something than lock it. Despite any old bugs\fixes\ new bugs described here https://github.com/keepassxreboot/keepassxc/issues/9751 you have now your database file changed - you can see it as changed in VCS - but you cannot associate any imaginable information with this change (e. g. in commit message). Next time you visit your VCS and discover that the database file had changed you can be puzzled 😕 - should you commit it or not ? (now i have to open the database, check the last modified entry, compare its modify time with the latest commit time and either discard changes or commit them 🥵). Just imagine that any time you open a code file in your IDE and scroll it - the code file becomes changed and you have a hell of a hassle to manage it in VCS 🤯. This feature request is motivated only by trying to find any convenient way to manage KeepassXC database via git. If there are any working cases based on existing versions of KPXC it will be really nice to have them described here.

droidmonkey commented 3 weeks ago

Ummm I would recommend NOT using VCS tools to manage your database file. Storing completely binary (and in this case encrypted) data in Git is not advised. Mainly for the reasons you wrote about. Giving an option to ignore changes that are actually saved in the kdbx file is not something we will provide. You are welcome to disable automatic savings, which will allow you to also disable auto saving non-data changes on lock.