shellster/keepass-sftp-sync

Documentation on the nuts and bolts of the sync process?

jaybeers opened this issue · 2 comments

Obviously, the general idea is pretty straightforward: the plugin takes your database and uploads it to an SSH server. :) What I'm wondering is, what exactly is the algorithm to handle stuff like concurrent updates (e.g. you have two instances of KeePass running on different machines that create separate updates)?

I feel like if I knew more about what to expect, I could feel more confident in installing/using the plugin. Even if the answer is "no attempt is made to handle concurrent updates, don't do that" then that's fine as long as I know what to expect. 🙂

What happens if the remote file is different (older? newer?) than the local one at startup? Does the plugin do any kind of check at startup, or is there a menu option of some kind that you have to trigger manually when you want to sync?

Oh, I suppose I should also ask if this is still the recommended version for use with Mono (I read over the open issue and it seemed like it was game off, then game on, then game off again so I think this is still the one): https://github.com/shellster/keepass-sftp-sync/releases/tag/2.2

TBH i've seen sync process explanation somewhere, but not related to specific sftp implementation, so i'm not sure if i should search it up for you

Currently works with mono :)

@jaybeers Sorry, just now seeing this. There is nothing magical about this plugin. It does what every other transport plugin does, which is shuttle your entry keypass database over the transport. Merging and conflicts are handled by Keepass. If two people make changes, the last guy to make a change will get a prompt to "synchronize" their database, which in most cases is just merge the changes together (like github). If they both modify the same entry, I believe the latest dated change is saved (uncertain on that point).