I just had to sort out getting subversion up and running on a mac. It’s not quite as simple a process as on a PC; there are a couple of extra steps I thought I’d share…
So, the first step is to make sure you’re logged in with admin rights, then go and grab the latest copy of subversion from here
When you have downloaded this, run it and let it do its magic, and you should have subversion installed. To confirm, open a terminal window (Applications/Utilities/Terminal) and type
svn. At this stage, its entirely likely you get a ‘command not found’ error. So after ab bit of digging on the intergoogle I found that someone had the same problem and fixed it by typing the following into the terminal:
sudo ln -s /usr/local/bin/svn /usr/bin/svn
This adds a link from the svn binary in your local bin folder to /usr/bin
svn and you should now see the more helpful message
Type 'svn help' for usage.. So far so good, you can now use svn on the command line. But if you’re anything like me, I want my source control to be seamless and have finder integration. Enter SCPlugin.
SCPlugin is an open source plugin based on the idea of TortoiseSVN. Its not quite as mature as TortoiseSVN, but I’ve found it to be pretty good, barring one gotcha I’ll deal with in a minute. For now, download the latest version, and look at the installation instructions. Now when I pull up a contextual menu, I should see a subversion submenu. It doesn’t have all subversion commands, but it certainly has the ones I use day to day.
I thought I was doing pretty well, until I tried to checkout the latest source from one of my projects. I got a nasty error:
Error: PROPFIND request failed on '/path/to/SVN' Error: PROPFIND '/path/to/SVN': could not connect to server (https://sample.svnserver.domain)
more hunting on the intergoogle uncovered a similar problem with Tortoise, so I figured it might be the same thing. Basically my svn repository under https has a self-signed certificate, and SCPlugin just spits the dummy when it comes across this. I went back to my Terminal window and tried to checkout from there:
svn co http://path/to/repos/
Sure enough, a message came up telling me that the certificate was unsigned (because my friend self-signed it):
Error validating server certificate for 'https://xxxxx': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! - The certificate hostname does not match. Certificate information: - Hostname: eyefodder.com - Valid: from Jul 22 15:51:42 2004 GMT until Jul 5 15:51:42 2015 GMT - Issuer: Eyefodder, uk - Fingerprint: d9:86:9c:31:2a:xx:d2:xx:20:08:f6:78:a6:0f:46:27:a4:52:d1:7b (R)eject, accept (t)emporarily or accept (p)ermanently?
but in the command line I had the option to accept the certificate permanently (p). I did this, and now when I go back to the SCPlugin contextual, everything works as it should..
Next step – cruisecontrol on the Mac…