I’ve tried psvn.el, but the command to diff the file you’re currently looking at is just hideous: M-x svn-file-show-svn-diff. I tried installing vc-svn.el, but couldn’t get that working on my version of Emacs: GNU Emacs 21.3.1 (i386-mingw-nt5.1.2600) of 2004-03-10 on NYAUMO. I’ve tried putting a copy of vc-snv.el in my site-lisp dir, but when I try to run the command “M-x vc-diff” it says my file “is not under version control”.
The emacs wiki page, which mainly focuses on vc-svn.el, seems to be horribly out of date, as many of the links do not work.
You can take a look at dsvn – it was influenced originally by psvn. However, it can work more efficiently with large repositories containing many files and subdirectories. As a side note – you should really consider upgrading to Emacs 23 – it has loads of cool new features and most newer modes are not tested against older versions of Emacs such as 21, so you could run into unexpected problems.