UPDATE #2: Assembla is no longer free, so I looked for other options and I've switched to XP-Dev.com.
UPDATE #1: Following writing this review, and the suggestion in the posts below, I looked into using Assembla. I've now been using it for several months for version control for home. I find it very fast, and haven't seen it go down once. I highly recommend it!
ORIGINAL POST:
I recently bought a laptop, so that I don't have to be sat at a desk to ruin my eyes. I wanted to use my laptop for a bit of coding, but Perforce, the version control system I had been using, was installed on my desktop machine. This meant that my desktop had to be turned on, for my laptop to be able to check things in and out. This bugged me, so I started to look for solutions were my source could be hosted online.
There are lots of companies out there who will host your source code. They mostly use the open source systems CVS and Subversion (also known as SVN). Some companies charge monthly, with increasing fees for increasing server space and/or numbers of users. Some have a 'free' service, but the restrictions are pretty tight. If you're interested in open source development, and don't mind the world seeing your code, then there are other free hosting options out there too.
I found one SVN hosting site which was completely free, didn't have tight restrictions, and didn't require that your code is open source - OpenSVN (OpenSVN.csie.org). It's operated by some students at National Taiwan University. As I'm always interested in a bargain, I thought I'd give it a try. After 5 weeks of using it, here are my thoughts:
- The presentation on the OpenSVN site is poor. The other project hosting sites, with their art work and stock photos of people pointing at monitors, make you feel a lot more comfortable about putting your valuable source in their hands. Plus the OpenSVN site has some kind of bad certificate, which makes IE7 give dire warnings.
- After the initial setup of the account, you don't need to go back to their site. Just use TortoiseSVN (or a similar windows client) to manipulate your files. I chose TortoiseSVN, and after a short learning period, I really like it.
- The server has been down on four days of the 5 weeks that I've been using it. This hasn't caused big problems for me, as I just code on my own, for fun, and am OK waiting for them to fix it. If however I was working in a group, at a serious development company, this level of down-time would be unnacceptable.
- I've not needed tech support, but doubt that whatever they provide would be on a par with what a professional hosting company could provide.
- Initially I was a bit concerned about whether it would be too slow. I've found it to be fast enough for my needs - just checking in/out relatively small amounts of code. I'd say it takes about 15 seconds to either check in, or get latest, for an average amount of change. If however you were thinking of storing larger binary data (e.g. textures) then it may be worse.
Overall, OpenSVN is OK. I find the occasional down time acceptable, considering that it's free. If you use it, I recommend that you also make your own backup procedures, and not rely on theirs. For home development, when it comes to backing up a version control system, I'm of the belief that it's OK to just back up the last good version. If the history gets lost, then it's just tough turkey.
If you're new to SVN and hosted version control, then it's a good idea to use OpenSVN first so you can get a better feel for what your needs are before shopping for a commercial/reliable service.
What do you use?