43 Folders

Back to Work

Merlin’s weekly podcast with Dan Benjamin. We talk about creativity, independence, and making things you love.

Join us via RSS, iTunes, or at 5by5.tv.

”What’s 43 Folders?”
43Folders.com is Merlin Mann’s website about finding the time and attention to do your best creative work.

Geek Throwdown: How to sync two or more Macs?

Enter the Octagon

Here’s an experimental new feature: The Throwdown. Take a problem that lots of people face and tell us your personal favorite way to deal with it — in as much detail and with as much persuasion as you can muster.

Today, a lot of us are living on two or more Macs -- which is great, except for the challenge of keeping the contents and settings of multiple machines effortlessly in sync.

Now before you pop in, holler "dot mac," and jump back on your Segway®, consider that many folks (including your author) are looking for a lot more than simple document syncing and perfunctory preference sharing. How about if your needs are more nuanced:

  • Can it intelligently sync "~/Library" stuff like "Preferences" and "Application Support" for your apps (so that Quicksilver, for example, is with you and tweaked to perfection wherever you go)? Is it smart enough to know which items not to sync?
  • Can it do smarter comparisons than "which one is newer?" -- consider that someone on 4 or 5 Macs may run into complex versioning problems that currently make .Mac very confused. For text, can it do diff3-style merging?
  • Will it update often enough (and automatically enough) that I can trust when I sit down at a new machine, I'll know everything's up to date without checking (or manual re-updating)?
  • Can backups be easily automated? And is it easy to restore across all machines?
  • Does it work for people on airplanes? If your solution requires a live internet connection for active usage (e.g. traditional WebDAV), what happens when that access is no longer available?

You get the idea. You have a system; now tell us about it. Bow to your sensei, then spare no detail.

How do you sync your Macs?

rsync? ChronoSync? Synchronize? Unison? Something you made yourself?

What are using to sync your Macs, and how are you using it?

gingi0's picture

Unison + Perforce

After doing much research on this, I think Unison is hands-down the most comprehensive way to synchronize 2 or more Macs. I use a star topology to maintain a pristine copy on an external hard disk (over FireWire) and then mirror all or parts of my home directory on my Powerbook and MacBook Pro (you can scale this to any number of client machines). What's beautiful about Unison is that it supports profiles, where each mirror has fine-grained control over what paths to sync or otherwise ignore (as well as a plethora of other options). So my personal laptop synchronizes a set of directories from the pristine copy and my work laptop synchronizes another set.

One problem is that Unison does not maintain a file history and sometimes I'd like to roll back to a previous version of a file. So I use Perforce, which is an excellent version control system (superior, I believe, to either CVS or Subversion; free for personal use; Google's official VCS) to keep a history on the pristine copy itself. You can, however, use any other VCS to do this.

The main drawback to this solution is that it is fairly low-level. There are several GUIs for VCSs and supposedly Unison has its own interface, but there isn't anything unified to pull all these activities together. But I've been able to automate this quite easily using a set of shell scripts.





An Oblique Strategy:
Honor thy error as a hidden intention


Subscribe with Google Reader

Subscribe on Netvibes

Add to Technorati Favorites

Subscribe on Pageflakes

Add RSS feed

The Podcast Feed


Merlin used to crank. He’s not cranking any more.

This is an essay about family, priorities, and Shakey’s Pizza, and it’s probably the best thing he’s written. »

Scared Shitless

Merlin’s scared. You’re scared. Everybody is scared.

This is the video of Merlin’s keynote at Webstock 2011. The one where he cried. You should watch it. »