Subversion
I do a fair bit of coding as as such I decided long ago I needed to use a versioning system. Initially I used cvs, like most people do. After using it a while I was looking for something with some better features and decided upon Subversion. I have been using it ever since.
By far the easiest way to get a subversion server running was to use the built in svnserv program, and that was exactly what I did for years without problem or hesitation. Well, the other day a coworker was showing me some of his code and logged into his subversion server using the apache based server. That really perked my interest because he could just browse around and pick and choose directories and programs without the need to download the repository firt, etc. I was hooked and had to get mine running that way.
That brings me to last nights fun. I searched around and found quite possibly the best instructions for getting subversion set up that way. Read the instructable at http://www.edreaminghome.com. This instructable blog post had me running svn-apache on my ubuntu server in literally less than 5 minutes. Most of that time was trying to figure out one small problem. Following the instructions will sure enough get you a running subversion repository, however, you cannot save anything to it. The only change I needed to make to get things set up perfectly was to chown -R www-data:www-data /svn
so that the www user could actually manipulate the repository.
Works like a champ. Set one up yourself and see!