20 January 2009

Google Code and Subversion

I recently started using Google Code for hosting a new open source project I'm working on (written in Clojure) in my spare time. Google Code uses Subversion for version control, which some predict is going to change soon to Git. While I am pretty familiar with the command line options for the Git version control system, I'm definitely not with Subversion. Maybe Google Code will switch to Git soon, but until it does, I needed to use Subversion, so I went looking for some GUI-based Subversion clients to simplify its use.

Windows

Finding a good Windows client was easy. TortoiseSVN is an Explorer shell extension that is free, stable, and complete. It worked right out of the box with Google Code and I didn't have to read a single line of documentation to become proficient at it.

Mac

The situation wasn't quite as simple for Mac. There are multiple non-free clients for Mac, but I wanted to stick with open source if possible. The closest thing to TortoiseSVN for Mac is something called SCPlugin, but it is incomplete and development on it seems to have stalled in 2005 or 2006.

SvnX is the one I ended up choosing. It is not quite as intuitive as TortoiseSVN, but it seems to get the job done. To get it working with Google Code, I had to run this command on the command line in order to accept the security certificate:
svn list https://GOOGLE_CODE_CHECKOUT_URL
That's it! Off to do some programming.

3 comments:

Patrick said...

Nowadays I use the SVN support in IDEA, or the command line, but in the past I liked the tools from Syntevo (http://www.syntevo.com/smartsvn/index.html). They have GUI tools for both CVS and SVN. I haven't used them in about two years, but I'd like to plug them as I found them very easy to use and well-designed. They are cross-platform so should work without problem on Win, OS X and Linux.

Regards
Patrick

Martin said...

Since you are familiar with git, why didn't you choose to use git-svn?

Kevin Albrecht said...

Martin,

You are right, I could have used git-svn instead, but I thought I'd give a GUI app a chance for a change.

--Kevin