Use vimdiff to display subversion diffs
I prefer using vimdiff or gvimdiff to view differences between files. When researching ways to allow using vimdiff to view subversion differences, I came across this article.
The bottom line is that subversion passes the two relevant arguments as the 6th and 7th arguments, so the following shell script wrapper does the trick:
#!/bin/sh
/usr/bin/gvimdiff ${6} ${7}
Save the script as gvimdiff_wrapper.sh, make it executable and accessible on your path. Then modify $HOME/.subversion/config to have the following line:
diff-cmd = gvimdiff_wrapper.sh
That will allow you to use gvimdiff to display the diff generated by svn diff my_file.txt

October 23rd, 2008 at 2:44 pm
Great tip! Thanks.
This works perfectly when doing a straight svn diff like this:
svn diff file1.phpBut when I want to compare two arbitrary revisions in the svn repository like this:
svn diff -r 65:24 file1.phpit doesn’t work. gvimdiff opens with two empty files named tmp and tmp.2
Any idea on how to make it work in this situation?
October 31st, 2008 at 2:30 pm
Sorry, I don’t have a good solution off hand. I actually switched to Emacs a while ago and it handles anything I’ve thrown at it.