Eclipse and Subversion on Mac OS X

Posted by Tejus Parikh on August 9, 2007

I don’t think there’s anything more frustrating for a developer than having your development tools slow you down instead of help you get your work done. I’m still a fan of Eclipse, mostly because I’ve used it so much, everything else feels foreign. Trying to develop Java code without it is a lot like trying to find your way out of the middle of a dark forest with neither map nor flashlight.

Eclipse, however, is far from perfect, and one of it’s features that’s really been getting on my nerves lately is it’s Subversion support. I had been using Subclipse for over a year and a half. Unfortunately, Subclipse’s rough edges seemed to grow proportionally with the size of the code base. Eclipse has always been the best at version control support, but Subclipse always felt lacking and a little ugly.

Switching to Subversive alleviated some of the problems. Subversive doesn’t give me as many bizarre errors related to malformed network data. There’s partial support for visual merge’s, similar to the built in CVS support, and it’s icon set is better. However, one major problem remained: performance.

The problem seems to be the pure-java SVNKit. It’s dog slow. Checking out my repository in Eclipse took over 20 minutes. Checking it out with the SVN command-line client, took around 2 minutes. This is simply unacceptable. Windows users probably have not experienced this problem, since Subversive bundles the native javaHL Subversion implementation.

On the mac, the only alternative was to roll your own Subversion client from source. The desire to get away from a platform where I had to manually compile software was part of the draw for using OS X in the first place. Thankfully, the folks at OpenCollab.net just released a binary of Subversion 1.4.4 which includes the javaHL module and an easy to use installer.

Once the binary is installed, all that’s left is to open the Eclipse preference menu (which as of Eclipse 3.3 is in the correct place), then select the javaHL client under the SVN Client tab under Team -> SVN. Finally, the version control feature of Eclipse, with close to the command line speed!

Tejus Parikh

I'm a software engineer that writes occasionally about building software, software culture, and tech adjacent hobbies. If you want to get in touch, send me an email at [my_first_name]@tejusparikh.com.