Subversion on OS X

As I continue to get this iBook set up for development, I wanted to get Subversion installed, as well as the Subclipse plugin. I was originally highly disappointed because when I installed the plugin, it went immediately to crashing Eclipse every time I tried to use it. As it turns out, Subclipse is not a pure Java implementation of the Subversion protocol like I thought but something that calls in to local libraries. Unless Subversion is already installed, it ain’t going to work. It sure would be nice for the Subclipse plugin to catch this case and give some kind of a message to that effect, rather than just gakking so hard as to bring down all of Eclipse.

Once I knew that was the score, I set about installing Fink which I wasn’t dying to do but the OS X binary distributions of Subversion use it. I could have built it from scratch, but I don’t really care that much about it. I’d rather use the apt-get type tools to just update for me automatically rather than rebuilding every time a new release is out. After I installed Fink, installed the Subversion client, Subclipse worked like a charm! I did a “check out as project” option and blammo, down came my project with everything already set up correctly. Very nice.

Yesterday I opted also to move my Subversion repositories from the old, slowly dying Linux box to the new Fedora Core box. I was amazed how easy this process was. Using svnadmin, I did a “dump” of the old ones into a file and on the new one I did a “load”. Essentially, it replays all the changes so that all the history from the old repository appears in the new one. That’s very nice. You also have the option of putting boundaries around the history when you do that, such as only keeping the most recent N changes (which I assume means that you have the identical files at the end but that the history only goes back for N revisions.) I found this a lot better than having to deal with the raw files of a CVS repository. Subversion has some issues – most of my problems with it have to do with the complexity of libraries needed by it – by I think this is well on track to being the thing people use instead of CVS in a few years. Even the complexity issue is helped out when it comes preinstalled on Fedora Core boxes now.