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.
Jaspersoft Studio v5.5.0 and the bundled Subclipse plugin will work with Subversion v1.7 or older versions only. Cannot complete the install because of a conflicting dependency. SVNKit Client Adapter 1.7.9.2 (org.tigris.subversion.clientadapter.svnkit 1.7.9.2). I have a similar problem with Subclipse 1.8. Due to licenses limitations, SVN client aren't bundled with SVN any more. So I find the message 'Unable to load default SVN Client'. My solutions is to install SVN client. It can't be easier. Go to Eclispe Marketplace, type Subclipse and click to install Subclipse again, select all options.
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.
Note: You may need to update the curl
command to download the latest SVN 1.7 source.
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.
Your environment will still use SVN version installed with Mac OS X:
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
:
You should now see the SVN version you installed:
Find this interesting? Let's continue the conversation on Twitter.
In this post I’m using Subclipse. I am not too sure whether you’d have the same problem with Subversive or whether it can be fix in the same way. Also I am working on a Mac.
Of course the actual solution to this problem is not Mac OS X specific but would also work with Linux. So if you are using Eclipse and Subversion, just ignore the Mac specifics (e.g.
Homebrew) and keep reading.I installed subversion 1.8 using Homebrew some time ago but Eclipse kept using the old svn version so I didn’t have to upgrade my working copies. Now I tried to update a working copy from the command line (it contains documents and not code. That’s why I didn’t do it in Eclipse) and saw that I hadn’t upgraded it yet: $ svn upsvn: E155036: Please see the 'svn upgrade' commandsvn: E155036: The working copy at '/Users/henribenoit/workspace/kanban'is too old (format 29) to work with client version '1.8.0 (r1490375)' (expects format 31). You need to upgrade the working copy first.No big deal, I just upgraded all working copies: $ svn upgradeNow I could update them: $ svn upUpdating '.' :At revision 303.But now I couldn’t synchronize the working copies with the repository using Eclipse any more because eclipse was using the old svn version:Problems reported while synchronizing SVNStatusSubscriber.
$ brew install -universal -java subversion Installing subversion dependency: sqlite. Installing subversion dependency: serf. Installing subversion.Warning: Could not link subversion. Acer aspire 7750g 6662 driver for mac. Unlinking.Error: The `brew link` step did not complete successfullyThe formula built, but is not symlinked into /usr/localYou can try again using `brew link subversion'Possible conflicting files are.It’s easy to fix by using the –overwrite option with brew link: $ brew link -overwrite subversionLinking /usr/local/Cellar/subversion/1.8.0.
108 symlinks createdNow svn 1.8 is installed properly (including the Java language binding for the Subversion API i.e. But when I tried in Eclipse to synchronize with an svn repository, I got the following error message:Incompatible JavaHL library loaded. Subversion 1.7.x required.This basically means that this version of JavaHL is not supported by the installed version of subclipse.
In fact, also gives you this info: Subclipse VersionSVN/JavaHL Version1.10.x1.8.x1.8.x1.7.x1.6.x1.6.x1.4.x1.5.x1.2.x1.4.x1.0.x1.4.xYou can check which version of Subclipse is installed in the “About Eclipse” menu item (click there on “Installation details” and search for Subclipse). If you see e.g. That Subclipse 1.8.1 is installed, the table tells you it will only work with svn 1.7.
So we need a newer version of Subclipse. My first idea was to run an update in Eclipse. But it updated some other software but nothing related to subclipse. Then I notice that the update site I had used to install subclipse was: means that it will provide minor updates like 1.8.2, 1.8.3 and so on but no major update like the version 1.10.x that we need for svn 1.8. So I added a new update site for Subclipse 1.10.x: installed Sublipse 1.10.2 from this update site and after my sync with the svn repository was successful!