Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.
I usually carry my laptop everywhere and do work on it, but I do also need to work at my desktop PC, so I need to synchronize the files on the two machines. I have used several sync tools in the past, ranging from simple commands like
rsync to utilities like Krusader, which includes a way to synchronize directories on different machines. Recently I started using Unison.