So I’ve been using two different SVN repositories at school that were setup years ago, when I wasn’t really familiar with SVN. Today I decided to create a repository on one of my own servers for some personal files, and I don’t want the headache of making sure the installation of Apache is secure and up-to-date. I learned about the existence of svn+ssh:// as an access mechanism. It does exactly what you might expect, tunneling svn traffic over an SSH connection. The backend that makes this work is a program called svnserve that is installed by default with the subversion package, at least on Debian. This page of the SVN Book contained this information.
Now, I run SSH on a non-standard port. This too can be handled, by editing your ~/.subversion/config file and adding an entry to the [tunnels] section. For example:
jonssh = $SVN_SSH ssh -p 12345
Now, I can checkout my repository with:
svn co svn+jonssh://myserver.com./full/path/to/repo
Lovely. Don’t forget to edit that config file, or the non-standard port will break things.