What's the best way to keep a DVCS repository synchronized across multiple machines? I'm a solo developer interested in being able to easily move between my work desktop, home desktop and a (Mac) laptop. At the moment I use Dropbox to keep files in sync, but I'd like to be able to use some source control specific features. Is there an easy way to do this peer to peer without relying on a centralized repository? Is there any particular DVCS that's better suited to this kind of workflow?
Dupe notes: Inspired by How can a mobile student effectively use Dropbox with a source control system?, but I'm interested in a DVCS, not Subversion. Similar to Synchronizing Git repos across machines without push, but I'm not necessarily looking for a Git specific answer.