I write variants of our products (Mixtikl/Noatikl/Liptikl) for Win, Mac and various mobile platforms.
I’m also doing some Android consultancy at the moment - under Eclipse - which I used to hate but must admit that actually the way that the Android system works under it is very good (with powerful Java refactoring features; don’ t know what it is like for C++). I’ve also been doing quite a bit of Linux work recently, through VMs on a Windows XP host.
Anyways: the key for me has been to I use a separate file server machine on my network running a SVN server; this happens to be an old Mac mini with a cheap Western Digital 2TB hardware RAID (mainly: because I already had the machine, and it was easy to configure).
Also: I recommend using a VM approach.
If you’re interested in Mac, then use a Mac, and put Win and Linux under VMs.
If you’re not interested in Mac, then use a Windows XP machine, and put your Linux under a VM.
When I’m in Mac land, or Windows land (via bootcamp or the VM) or even Linux using a VM, I get the files I need using SVN from my file server on the LAN. Android currently is done on Windows, using Cygwin tools; but that is historical accident; I keep meaning to make it Mac centric as Windows scripting etc. is so much slower when running Windows! I can also copy files easy between machines and/or VMs and/or bootcamp, via the file server.
All scripting is done in combination of bash and python; easy if you’re using cygwin on Windows. That keeps most tools portable across your platforms. Though everything is a lot faster when run from Mac OS than compared to bootcamped Windows XP; so for the past 6 months, I do as much as possible of the core work under MacOS; this has made me a lot more efficient.