There are four common protocols for network access of SVN.
svn://repos
svn+ssh://repos
https://repos
http://repos
The Wikipedia page doesn't say much about the differences of the four different protocols. I've always preferred svn://
, because it is the easiest to set up, but what is the difference and which one is "better"?
http://
has a serious overhead, especially when dealing with thousands of small files. I used svn for a website that had around 50,000 icons, all saved in SVN. With HTTP, it took around 20 minutes to checkout. Once I switched to svn://
, it took less than a minute. This is because with HTTP it's one new HTTP request per file.
http://
however has the following big advantage: it usually goes through firewalls. For example, now that I switched to svn://
I can no longer access my repository from my university because of their firewall.
Regarding the difference between using SSL/TLS or not, well, it's obvious: data is encrypted; however it's more difficult to set up.