unison (no, not the news reader) has replaced rsync and ssync as my synchronization tool of choice.
- It is written in Objective Caml, which is one of the funkiest dependencies I've seen in a long while (but easier to install than darcs' Haskell)
- It installs badly (you're better off just dropping it in /bin/unison)
- If you don't put it in /bin/unison, it isn't smart enough to find its peer using $PATH over SSH
- It is incompatible between versions (2.12 won't talk to 2.10 or 2.9, which is a royal pain)