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.
So what am I doing now?
- Installed Virtual Box: What an amazing cooling Desktop Virtualization Software
- Installed Ubuntu: Works just great
- 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).
I was able to revert the Java update 2 in Mac OS X 10.6. The tricky part is that you’ll need the update1 installer (google for JavaForMacOSX10.6Update1.dmg)
If you find it, the follow steps 2,3 and 5 from this guide:
http://reviews.cnet.com/8301-13727_7-10330350-263.html
And remove the /System/Library/Frameworks/JavaVM.framework directory if necessary.
After that you should be able to run the installer for update1
Small correction, you need to perform steps 2,3 and 4 from the page linked.
I’ll give you an excuse to move to Git eventually Tom. Give me until September and no one should complain about the tooling anymore 🙂
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.
Eclipse is able to use OpenJDK on the Mac using the -vm argument since 3.6M5. Take a look at bug 276763 for the details.
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.
Pingback: Subversion + Certficates + Java > 1.6u17 « Tomsondev Blog