Thursday, April 10, 2008

Source Control under JumpBox

I've been doing .Net and VB6 development under Parallels on my Mac, and using Subversion mounted on a shared Parallels folder for source control (see this post). This gave me regular time machines backups...but the performance sucked! Checking at the trunk would take forever! And, of course, my Mac development work (Java, Cocoa, Grails etc) couldn't use the same repository.

So I've moved to Plan B - a Trac Jumpbox. This runs under Linux on Parallels and takes pretty much no set-up at all. You download it, fire it up and on the Trac home page you'll see the URL to use for Subversion access. I can now use this repository for both my Mac development and my Windows (parallels) development and it is all stored on the same machine. Plus I get the Trac source control viewer, diff tools etc which I've always loved (and a Wiki and bug management tool which I'm not going to use). It all runs right here on this machine, so I can do my dev work and check stuff in, without internet access.

There are a few hassles with this solution, so it might not be the final answer:

1. I need to remember to start-up the Trac Jumbox when I need source control. I could have it auto-start but I'm a big fan of a quick-starting machine. That's why I went to Mac in the first place! And I need to shut it down when I've finished.

2. When I'm doing Windows dev work I now have two virtual machines running. This performs fine as long as I don't sleep the machine. Waking it up is patchy at best and on several occasions I've had to reboot the Mac to get it working properly again. (Forget Fusion - I've tried it and I didn't like it!)

3. Time Machine doesn't back up virtual machines well (it backups the whole machine up every time), so it doesn't back my source control up. So I'm only backing up once a week via SuperDuper. This is not ideal!

4. This doesn't help me to develop on other machines in the house, or off-site. Should I be using a server, or perhaps hosted source control?

We'll see.

1 comment:

Sean Tierney said...

glad the JumpBox for Trac is working out. I'll try to answer the questions you posted:

1. I leave my Windows XP instance open in Parallels all the time. If RAM limitations mean you need to shut it down, use the pause feature instead of shutting it completely off. it takes about 10sec to pause/unpause

2. + RAM

3. If you've registered the JumpBox you can have it export the state to a network share using the built-in backup system.That way it only backs up the data you add and you don't have to copy the entire virtual machine. check here to see how to set it up:

4. actually you _can_ develop from other machines provided they're on the same network. You can access it via the IP address shown on the JumpBox console when it boots. Or, since you're on a Mac you can use Bonjour to find it from another machine on the network. There will be hosting options for JumpBoxes soon and one of the advantages of using a JumpBox vs. a hosted offering is that it's yours and it's portable so you're not locked into the hosting provider.