There are four common protocols for network access of SVN.
svn://repos
svn+ssh://repos
https://repos
http://repos
The Wikipedia page doesn\
svn+ssh
is the svn
protocol run inside a SSH tunnel. The client uses SSH to log on the remote server and remotely runs the svn command in that tunnel. In my view, svn+ssh
is the easiest way to use a subversion repository on a distant system, because you do not have any server to launch on that system, assuming that you already have a SSH server running.
Also, svn+ssh
benefits from the cryptographic protection of SSH. Do not use raw svn
protocol over untrusted networks.
The main problem with svn+ssh
is that it requires shell access on the remote machine. It is difficult to offer someone access to the repository without giving him access to the whole shell account. For that, you want one of the HTTP-based methods, i.e. http
or https
(preferably https
because of the encryption-and-authentication layer). These methods are more complex to configure (you need a HTTP/HTTPS server, e.g. Apache) but allow the repository administrator to carefully and precisely control repository access rights.