4 ms·
How's this different from Unison? The documentation on GitHub seems sparse.
by blinkingled 8y ago
How's this different from Unison? The documentation on GitHub seems sparse.
- stewbrew 8y agoUnison does one-to-one synchronization (local or remote). It puts more emphasis on reconciling sync conflicts. It can handle symlinks. It isn't really maintained, is it. It has problems on windows. It's written in Ocaml which had its heydays back then for a short period of time. Unison rather is a conventional tool which you call and then wait until it's done. Syncthing does many-to-many remote servers synchronization (but you can also do 1:1 or 1:M). It leaves reconciliation of conflicts to the users. If you're lucky, a copy of the file in question is created that has as "sync.conflict" suffix. It ignores symlinks (or copies them as is). It is actively maintained & has a much wider user community. It works on windows ... as well as android etc. It's written in Go. Synchting can also be run in the background to watch folders and keep everything in sync as files change. (This actually is the main use case.) You can use syncthing for almost everything unison does when you want to sync servers, workstations, phones etc. You cannot use syncthing to keep a memory stick in sync. IMHO unison is still better at syncing two directories with frequent merge conflicts. It's a pity it got trapped in the ocaml hole. I personally replaced unison with syncthing for most use cases.
- blinkingled 8y agoThanks, I misunderstood that Unison had any sort of 1:M sync - seems like that part is a hack using multiple pairs in a star topology. Also good point about OCaml and not having iOS/Android support.