Brian's Waste of Time

Fri, 21 May 2004

HOWTO Install Subversion and the IDEA plugin on OS X

This worked with IDEA 4.0.3, Subversion 1.0.3, and SvnUp (SVN plugin for IDEA) 0.8, YMMV with Pallada.

I use DarwinPorts when I can, sadly you cannot for svn if you want the java bindings =/ I still used it to get the patch to handle the /tmp being a symlink however.

Make Sure you have the Java Developer stuff Installed. Apple's Java config is weird, you can have javac but not the jni headers. Who knows. Hit and make sure to grab the Java developer package with the JNI stuff.

This installs client-only svn (all you need for server is bdb/db4 and to tell config where it is. I don't run an svn server on my lappy though so didn't bother.

tar -zxvf subversion-1.0.3.tar.gz
cd subversion-1.0.3

sudo port install swig
; You can install swig however you want. I do it this way

port extract subversion

pushd [darwinports install dir]
cp dports/devel/subversion/files/patch-svnlook-main.c \
   [wherever you have subversion untarred]

; Apply the patch to handle /tmp being a symlink
patch < patch-svnlook-main.c

; You will probably want to change prefix to be something reasonable on your system
./configure \
    --with-jdk=/Library/Java/Home \
    --with-swig=/opt/local/bin/swig \
    --enable-swig-bindings=java \

make && make install

cd subversion/bindings/java/javahl/

edit to change libtoolize to glibtoolize

./configure \
    --with-jdk=/Library/Java/Home \

make && make install

;Download the svn4idea4-0.8.jar and /svnup-0.8.0.jar from

sudo cp /Users/mccallister/.opt/subversion-1.0.3/lib/libsvnjavahl.0.dylib \

sudo cp /Users/mccallister/.opt/subversion-1.0.3/share/svnjavahl.jar \

cp svn4idea4-0.8.0.jar /Applications/IntelliJ\

;You SHOULD do this, but it doesn't work:
;cp svnup-0.8.0.jar /Applications/IntelliJ\

;Instead you need to do this:
cp svnup-0.8.0.jar \
cp /Library/Java/Extensions/svnjavahl.jar \

;This is less than optimal, but c'est la vie

Subversion should now be an SCM option just like the ones JetBrains distributes. Please note that I just got this up and working (IDEA comes up and shows it without errors) tonight, I haven't actually tried to talk to a server yet. I am worried that it is going to throw fits in the morning when I get to work and try to talk to the server because I shouldn't have had to add the jni stubs to IDEA's path...

2 writebacks [/src] permanent link