Hi,
After settling on Subversion as my RCS needs (and AnkhSVN/TortoiseSVN for my primary Subversion clients), I am trying to choose an SVN server. I have looked at a bunch of them:
- Local (ie file:///)
- Collabnet
- VisualSVN Server
- Tigris
- SilkSVN
- SharpSVN
- Apache module
I’ve installed each in a VM to try them out but have not found enough to differentiate most of them sufficiently to pick any specific. Now I have a few things I need to decide on.
- protocol
- vendor
- SSL
1. I have read that HTTP is much slower than the SVN protocol. While my projects aren’t generally too big (really only the initial import is the time-consuming part), I do want to get the performance benefits of SVN, as well as avoid my HTTP logs being flooded with SVN entries (which I have as of yet been unable to segregate into a seprate LOG file).
I do however like the web interface that using an Apache module or VisualSVN affords. I don’t really need to provide my stuff to others (or even myself away from my system), so it isn’t critical, but it certainly allows for expandability.
2. After choosing a protocol (assuming I have to choose); I need help deciding what vendor to use. I originally used the Apache module from the Tigris distro. I have since removed that (well, just disabled it), and am currently using VisualSVN (which is HTTP and thus slow). I have seen people endorse Sharp and Silk but they seem to be smaller, indie distros.
Collabnet on the other hand seems to be more elaborate than I need. Basically, unless I can be convince for one of those, I am mainly just trying to choose between the official Tigris and VisualSVN.
3. I have also tried messing around with SSL without much success (I can’t afford a real CA, so I am using a self-signed cert in VisualSVN). I would be happy to use SVN+SSH/HTTPS, but if I am using it on my own system, then it’s not necessary, and if I use it externally, then my self-signed cert won’t help.
I suppose that I could even use a local repository; I would think that it would be the fastest. However I would prefer a more formal solution in case I expand. (I considered just using the TortiseSVN client to do the work of the server locally.)
So in summary, I need some advice on which server(s?) to use. What would be great is if I could get VisualSVN to provide an HTTP interface for web use, but also serve on an SVN protocol for use in the clients, preferably with the option of SSL on each. Is that possible? Would it be too much work (I really want to get back to working on my projects rather than all this meta-work).
Thanks a lot.
Edit
I thought I should give a little info on my circumstances to clarify things.
- (Currently) Single system, (older P4, Windows, 1GB SDRAM)
- (Currently) Single developer (me)
- (Currently) Relatively small projects (<2MB)
- Countless projects (>100 individual apps, games, libraries, web sites, etc.)
- Externals required (specifically my own library as well as 3rd party header, Boost, etc.)
- ? hmm, what else…