Hosted Subversion
In setting up a dedicated server for a client, I was looking into setting up a Subversion repository.
For those not familiar with Subversion, it is a version control system. Basically you check files in and out of a repository (repo) and it'll keep track of all the changes that have been made. Any quality software development process should include some form of versioning. Mine to date has merely been timely archives, each dated and backed up on a routine basis. I've used the same technique for years and it's worked very handily. The most I've ever lost is a day's worth of work.
In going about setting up Subversion on the client's box, I decided to do some research and discovered that a few companies actually provide a hosted environment for Subversion.
CVSDude
CVSDude provides both CVS — another version control system — and Subversion hosting. They have a free account for hosting a single project under 10MB and includes email updates, which would be handy working with a team in different locations. After that, you start paying. The sweet spot looks to be the $30/month plan which includes unlimited repositories, Trac, and Bugzilla among other things.
Wush.net
Wush.net starts at $20/quarter for their basic package of 1 repo. Unlike CVSDude, which limits you to 2 accounts on the free plan and 5 on the basic paid plan, you can have unlimited developers accessing the box. Their Pro version includes integrated Trac for $15/month.
Hosted-project.com
Hosted-projects.com comes with unlimited repo's and developers along with Trac, even on their basic package of $7/month. You get 100MB for the basic plan. Paying more gives you more space, WebSVN (allowing repo's to be browseable via the web)
CollabNet
Collabnet offers Subversion On Demand but with no pricing information, the first thing that comes to mind is, "if you have to ask, you can't afford it." This service seems aimed at the larger enterprise-level organizations.
Dreamhost
I'm currently hosted with Dreamhost and was surprised to discover that it was super easy to get your own repository going. I've heard MediaTemple offers this as well and I'm sure many other hosts do as well. This is a simple approach to take but you tend to lose out on some of the value adds like integrated Trac, Bugzilla, and email updates. Sure, you can set this up yourself but certainly the bonus of going hosted is so you don't have to.
Google allows you to host your projects on Google Code for free. However, Google Code is intended only for open-source projects. Hosting your client work there probably isn't a good idea.
Gna
Similar to Google Code, Gna offers Subversion hosting along with a bunch of other services for free for "free projects".
DevjaVu
DevjaVu provides free Subversion hosting but also includes Trac and doesn't have any open-source limitations. Any project can be hosted on DevjaVu. The downfall: It's still in beta and you need an invite to be able to sign up.
Versionshelf
Versionshelf is out of the UK and provides Subversion hosting. This seems like a decent option including SSL access, RSS feeds of commits, and web-based repo access — even in the basic package. The number of accounts and repositories, however, could quickly force you into expensive plans if you're working on a number of different projects.
Which to try first?
In my case, I've decided to use the Subversion provided by Dreamhost. It's free and lets me get my feet wet. If it gets out of hand, or I need something a little more robust (since Dreamhost does experience down time on occasion), then I'll probably move to a hosted solution.
If you're aware of any others, feel free to add them to the comments.
Additions
ProjectLocker
ProjectLocker allows you to custom fit with Subversion, Trac, Wiki, and document management all-in-one. It's custom in that you can choose which services you wish to enable on your account and each adding to the overall cost. Unfortunately, they seem much more expensive than many of the services listed here. Just for subversion for 2 users, you're looking at $40/month. Although, that does include unlimited storage and unlimited projects. Update (Feb 2, 2008): I've been informed that pricing has changed and is as cheap as $2.50 a month.
Springloops
One of the commenters mentioned this and the folks emailed me to fill me in on the details. Springloops looks like a really good solution. Not only does it do subversion hosting but it also includes the ability to deploy to a remote server via FTP or SFTP, even on a free plan! It even had Basecamp integration which is a nice to have. The pricing plans also seem very reasonable starting off at $9 a month and going up to $96 a month. This may be my next step after using the SVN on Dreamhost.
Conversation
I've chose the same path as you did. I host Subversion on my (mt) account, but as you said, an ever increasing number of hosts are providing this option. *Everyone* should version control their code though.
A trick I picked up from Bryan Veloso at Avalonstar is to make your website simply a SVN checkout from your repository. That way you can commit changes through SVN like normal, and then just do a SVN update which applies all of your changes to your website (and also makes it easy to rollback to previous versions in case something bugs out). This also eliminates the need to manually FTP files which is kind of nice.
Theres always OpenSVN. Its free and has a fairly got administration feature but i personally find it a bit slow.
Woh, what about Springloops? It allows automatic deployment on commit...something that I have grown to absolutely adore.
I've used Unfuddle a couple of times. Its sort of like a Basecamp with SVN built in. Has RSS on the repository, which is a must for me anymore.
I love Dejavu. Highly recommended.
Sheldon: So where are invites for the rest of us? :D
After reading this article, I found Assembla: http://www.assembla.com/
Although, I'd like to find a good article on setting up SVN and Trac on my [future] web server @ home, being able to have multipe repositories/projects that are password protected.
Using one of these free svn hosts is cool, but then technically, other people have access to your stuff. That worries me. They can write all they want that it is secure, or that they won't access it, but the fact is ... it's there.
Have you had a look at Assembla? They are trying to do a little more than just host subversion, but on the simplest level they provide free subversion hosting (200mb), trac, an integrated wiki, alerts etc. The repository access also seems reasonably quick, unlike many of the free services I've tried in the past.
Worth checking out anyway. :)
Up till now all my projects (university plus private, not business) were in my local repository.
After reading this post I've decided to move my repos to the net (up till now I was using local repositories) - assembla looks really great by features listing. Too bad DevjaVu is invite only, couse it was my first choice.
Is versionshelf Uk based ? Seems like its hosted in Germany...
I'd love to use a hosted Subversion service, but I must say that all of the Rails-like web sites just don't give me a sense of enterprise safety.
I think this is due to the hype of rapid development attributed to Rails - rapidly developed source control front ends make me wonder about the attention put into the back end systems. It would be very very painful to lose source code.
And of course I can't afford the enterprise solutions :)
I'm currently using a Site5 $5 plan to host my SVN. I've had my backup scripts disabled though for "overloading the server" (absolute nonsense!). The problem is my SVN repos run to several gigs and all these commercial offerings underestimate my storage needs. I'd be looking at $50/mo rather than $5/mo which seems a little steep.
PS: Your website as a working copy of your SVN is a good idea, but remember to disallow access to .svn directories:
.htaccess (above public_html):
The rewrite rule needs adjusting if you have legitimate paths with ".svn" in the name.
I use Mediatemple. If you know Subversion, getting set up is as easy as shelling in and making your repositories. There's a few caveats, however—
Those things aside, it works great for the basic stuff. At the beginning of projects I make the live site a checkout so I can do small incremental updates, and later in the development cycle I switch to doing a clean export. It's been months since I've opened an ftp client.
Uh, all you guys worried about getting an invite: there's a "Request an invite" link, and I got one within a few hours...
Freaky!
Matt Raible writes about the same thing.
Can someone point me to a good write up on using subversion? I've seen some on which, why and how to setup, but I need a good HOW. Help!
I read and loved Pragmatic Version Control from the Pragmatic Programmers. Clean, concise writing that jumps right in and provides excellent examples.
Try Assembla. I love it! It's like Deja Vu without the need for an invite.
http://www.assembla.com/
I've used wush.net and I would recommend them. As well as providing subversion you also get trac which is useful online bug tracking and project management system.
I've been using my friend's svn server for a while (which he has set up himself, all integrated with Trac) and I must say svn is the the best tool ever made if you're multiple people working on the same project (I guess CVS would be just as good).
I'm also on dreamhost and I knew that it was possible to host svn, but I didn't know how easy it was. Thanks for the heads up, I just might use this in future projects!
Another plug for Unfuddle. The project/task tracking is sweet but they had me at "svn".
@Chuck Cheeze
I just set up my own local svn repo for all my projects, details here.
The guys at Circle Six also put together a Subversion 'how' that was really helpful for me.
Ive been using SVN hosted on Dreamhost for the last year and a half. I don't know how I lived without it. Adding tortoisesvn into the mix makes working on two machines a snap... Finish work on the laptop... right-click commit... when I sit down at my desktop... right-click update... breezy...
Excellent tip, man. I just started using SVN at the new job and didn't even know there was such a thing as these hosted options. Thanks!
svnrepository.com looks interesting and it's dirt cheap. anyone have any experience with these guys?
I've been using SVN for a while now. I've tried UnFuddle, no complaints but I have SVN with one of my Hosting providers (TextDrive) and it works great. Using it to update your live site is a great idea too. Some of my small sites I just do and SVN Export since you don't get the .svn directories with it. On larger sites I use the update and then either restrict access to those directories or run a script that removes all the .svn directories.
I still haven't converted to subversion from CVS totally but I usually have my own repositories though. You mention that dreamhost, occasionally experience downtime. That could be really dangerous if you are hosting client projects and you need quickly need access to the code. One thing that would be good to mention in your overview is information about how simple it is to export projects with all version history intact from the different providers.
I'll second Unfuddle.com I've used the free package for a very small website, and I have not had a problem.
Hosted Subversion definitely takes some of the headache out of setting it up yourself. However, you also loose some of the control. I have a DreamHost account as well, but I also use a private server for development, and wanted to integrate my repository with my development sites, SSL, and LDAP. The setup took awhile, and was a bit painful, so I documented the process, or at least the tricky parts, to save others some time.
We are really happy using DevGuard.com
We've hosted with CVSDude.com for over 3 years now- love these guys! They've helped us grow from a 3 person Bay Area startup into a 25 person company, with overseas contractors. Their biggest value has been access to expertise- we routinely email them just for advice or design questions. They say they're the original "free and commercial" cvs/svn hosting company, and whether this is the case or not, they know what they're talking about and reply right away. Performance is great, although they have a lot of customers and sometimes we notice a bit of slowdown during peak hours. Their new file cluster system (now in beta) doesn't seem to slow down. Go the Dude!
We have recently release Code Spaces which Includes Secure Subversion Hosting, Issue Traking, Project Management, etc...
We have free plans and fast secure servers.
I'm writing from wush.net. Use the coupon code 'SNOOK' (no quotes) on our sign-up page and you'll receive 10% off our starter or pro package for the life of your account.
Code Spaces have just added a Free 50mb subversion Hosting plan, with SSL, Issue Tracking, Project Management and Real Time Backups.