All of a sudden my Subversion integration stopped working in all my various Eclipse-Versions which as you can imagine is a really huge problem in a coperate environment.

We are working with a lot of different companies around the world and most of them use Subversion as their version control system, the authentification is done through p12-certitifcates and this is where the problem starts:

Apples latest Java update introduced a change in how the authentification negotiation is done and this makes the SVNKit-Implementation fail to proper authentificate on the server (going into an infinite loop).

You now might think that only OS-X users are affected but installing Ubuntu and running with the latest OpenJDK/Sun-JDK has the same problem. So if you want to use Subversion + Java + Eclipse through the SVNKit-Connector you’ll have to go back to Java 1.6.0_17 which is quite easy on Linux but I haven’t found a way to do it on OS-X.

Created a virtual folder in Virtual Box pointing to my OS-X-Documents Folder

Mounted it in by adding the following line to my /etc/fstab

﻿﻿HostDocuments /mnt/HostDocuments vboxsf uid=1000,gid=1000 0 0

Downloaded the Sun-JDK 1.6.0_17

Launching eclipse on Linux with

eclipse -vm /opt/jdk1.6.0_17/bin/java

Imported project referencing the real ones on my OS-X-Filesystem

This means whenever I’ll have to commit I’ll bring up my Virtual-Linux (which is sitting in the background), refresh the projects and commit them. Once I’m back to normal work hopefully quite soon I’ll try to look into the SVNKit-Sources to fix the problem in their code which has been reported already a while back (if it is the correct bug then it was 2009-03-17).

Yep. If you can also convince the companies I’ll have to work with that they should switch. I’ve already started lobbying git in our company internally so that we’ll hoefully switch to git in the next few months.

Interesting. Need to give it a try but because the change making SVNKit fail is reality coming from OpenJDK (it has been introduced between 1.6.0_17 and 1.6.0_20) I doubt that this will change the situation. I think the real solution is to fix the SVNKit code.