While I use Syncthing over on Android because there is no good Android port of Unison, and like it, here are some of the things that make me use Unison on my laptops and desktops:
- The way I use Unison, I review the proposed changes before hitting go on a sync. Caught a few mishaps and accidents over time (not Unisons faults, talking about me messing up my files and stuff). Reading these reviews regularly gives me a good feeling for what is going on with my data, too.
- Unison is easier to use over ssh. With Syncthing, I need to forward a port or use the ssh client's proxy to get at the webgui.
- I find Unisons behavior more predictable and dependable than Syncthings. Maybe it's the Android port that's to blame here, but with Unison I start it on the CLI and it runs through to completion, done. With Syncthing, it seems to sync on it's own volition. I have configured Syncthing to run when my phone is connected to my WIFI. Sometimes it starts right away when my Android phone enters my WIFI, sometimes it takes a while, sometimes it needs a little prodding with the webgui to follow through on this or that folder.
- My Unison config consists of 3 lines. I recently had to reconfigure Syncthing on my phone, took me quite some time of carefully re-mating the app with my server for all folders with a ton of potentially out-of-sync content on both sides.
The only problem I have with Syncthing is how it deals with conflicting updates... The interface make it difficult to see which file is conflicting. Is it better with Unison?
https://github.com/bcpierce00/unison
edit: Also, KeepassXC!