So far I have been building my Rail app on a Mac OS X box using TextMate.
It’s just me, so I haven’t used Git. I have just opened and closed the code in the file system, used an AppleScript to take annotated snapshots at key moments, and let Time Machine take care of the rest.
I’ve just ordered a Windows laptop which I’ll use for the same project. I’m hoping to sync everything automatically between the two computers.
I’m assuming I can sync the project itself using Git, Mercurial or SVN. (Regardless, I’d have to teach myself version control.) It would be nice to do this syncing via a server that provided free accounts for small private projects. It would also be nice if I could continue to use standard Open and Save dialogues in Mac OS X and Windows at the start and end of each chunk of work, instead of mucking around with version control commands. Any thoughts on how to make this is simple as possible?
Beyond that I’ll have to sync the Rails version, the Ruby version, the available gems, and the available libraries like ImageMagick. Some of this I guess I can achieve by specifying the Rails version etc in various config files. Again, any thoughts?
If it was just you, a Mac and PC, what would be your ideal approach?
Quite frankly there is no particularly easy way to achieve what you’re after. Gems and libraries that need compiling, for instance, just can’t be mirrored to another machine, especially a different OS.
However, I can provide you with an easier way to manage your projects if you don’t want the hassle of Version control, which is DropBox. I’m using it for one of my rails projects at the moment. Once you install the software, it creates a ‘dropbox’ folder on your machine. Any time you save a file into it, or update a file already in it, it’s instantly uploaded to their free server, securely, and then downloaded onto each machine that have the software installed. This allows you to continue using the Open and Save dialogues you’re used to while also keeping a history of each update you make to the server.
It is not an answer to Version Control, and it really isn’t meant to be. Git and Mercurial are still worth learning, but it’s a good middle ground and perfect when you don’t need so much control. It’s worth a look, even just for general backup.
P.S. I don’t work for dropbox, i just love it.