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 http://developer.apple.com/ 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]
popd


; 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 \
    --prefix=/Users/mccallister/.opt/subversion-1.0.3

make && make install

cd subversion/bindings/java/javahl/

edit autogen.sh to change libtoolize to glibtoolize

./configure \
    --with-jdk=/Library/Java/Home \
    --prefix=/Users/mccallister/.opt/subversion-1.0.3

make && make install

;Download the svn4idea4-0.8.jar and /svnup-0.8.0.jar from http://svnup.tigris.org/

sudo cp /Users/mccallister/.opt/subversion-1.0.3/lib/libsvnjavahl.0.dylib \
        /Library/Java/Extensions/libsvnjavahl.jnilib

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

cp svn4idea4-0.8.0.jar /Applications/IntelliJ\ IDEA.app/plugins/

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

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

;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