you know the use of the term "sync" in Eóin's post is somewhat confusing.
2 very different kinds of programs are being talked about here:
1) a sync tool for synchronizing directoris
2) an incremental versioned backup tool
even though Eóin mentions wanting a "sync tool", his description is really for an incremental versioned backup tool:
I’d better explain what I’m looking for first, I want a neat way to backup my programming projects, my ideal tool would perform incremental backups with a possibility to rollback.
in this case, you really want to look at that backup review and section and look for a backup tool not a sync tool.