Updating SVN for Mac OS X
Main Thread • 2 min read
Update: The Command Line Tools for Xcode 5 include SVN 1.7.10.
I downloaded the latest version of Eclipse and Subclipse for my new work Macbook Pro. When I ran svn
commands in Terminal I received some odd messages. After some confusion, I realized Subclipse checked out the repository using SVN version 1.7. Unfortunately Mac OS X Mountain Lion runs SVN version 1.6.
I could have downgraded Subclipse. However, I had already checked out several repositories. Furthermore, I liked the smaller footprint of SVN 1.7. In typical lazy developer fashion, I went with updating SVN to version 1.7 for Mac OS X.
To give due credit, the foundations of this post came from a post on Building SVN 1.7. Although I expanded on it, I encourage you to read the original post. For completeness, I outlined the full process below.
Note: To compile and install SVN 1.7 you need Xcode with the Command Line Tools installed.
Download the SVN Source
cd ~/Downloads/curl -o subversion-latest.tar.gz http://apache.mirrors.tds.net/subversion/subversion-1.7.8.tar.gztar -xvf subversion-latest.tar.gz
Note: You may need to update the curl
command to download the latest SVN 1.7 source.
Build and Install SVN
The default SVN install on Mac OS X uses neon. neon allows you to connect to remote SVN repositories via HTTP and HTTPS. Lines 2-7 installs neon. Line 8 builds SVN using the --with-neon
configuration flag.
1cd ~/Downloads/subversion-1.7.* 2sh get-deps.sh neon 3cd neon/ 4./configure --with-ssl 5make 6sudo make install 7cd .. 8./configure --prefix=/usr/local --with-neon 9make10sudo make install
Using the New SVN
Your environment will still use SVN version installed with Mac OS X:
svn --version
To use the SVN version you just installed, you can update your PATH
. Assuming you are using the bash shell, add or edit the following line in your ~/.bash_profile
:
export PATH=/usr/local/bin:$PATH
You should now see the SVN version you installed:
svn --version
Find this interesting? Let's continue the conversation on Twitter.