Wednesday, June 29, 2011

Scalable source control

I recently started a small pet project. Using ASP.NET MVC3 with EF Code First, I think I've managed to keep it all small and tidy. But, if you add a set of tests, a bit of advanced jQuery in the front end and a custom authentication service on top of that, it's time to add a source control system. Here's what I've done as my project has grown:

- Day one, I placed my project in a Dropbox folder. That way, I could reach my project files from all my computers (and even my iPhone).

- A few weeks later, when I first had to make some serious changes and needed a fallback, I created a Mercurial repository in my Dropbox folder and commited all my code. I've got a blogpost on that here: http://csharptutorial.blogspot.com/2011/06/using-dropbox-with-mercurial.html. Mercurial is a great source control system, because it doesn't require a server installation and your repository is copied to all locations where it's checked out.

- Now, I'm looking at moving my project over to BitBucket (http://bitbucket.org/) which is a free hosting service (up to five users I think). It allows you to share code and has an issue tracker system.

A good alternative to Mercurial is Git, using github.com in stead of bitbucket.org. Both have a learning curve, but they both represent modern version control tools and is well worth having a look at.

No comments: