WIP: Sync plugin
Still only a prototype. Planned changes (at least) are:
- Finish unit tests (and this way refactor the main code)
- Still improve merging mechanism
- Change sync to be an asynchronous process
- Implement the Android counterpart and change plugin to receive the actual sync plugins
I actually have more questions but let's start with the most important one: As you can see plugin is dependent on SSHFS plugin, which makes some things easier but, well it has the obvious dependency.
If you check previous work in filesync branch and also think about it and that KDE connect is based on network packets it makes sense to do it that way and transfer data, paths, etc trough network packets.
I am not sure here, SSHFS has advantages due to being local mount and all operations, comparison of files and hashes can be done locally on a server (desktop) side. But this will prevent any future plugin implementation of Android-to-Android synchronization. If it would be done by network packets it would be completely independent plugin and more cross-platform, but with a lot of extra complexity of exchanging hashes and creating catalog and then actually sending data (not sure about max payload limit) and then the actual Android app. I would like to do it properly so...
Any other comments is welcome.
And about the workflow, I guess all commits that are present in this merge request would be squashed and a proper message produced?