Choosing an Online Source Control Solution
25 May 2011
ankhsvn freepository git source control subversion tortoise svn winmerge
I have been developing applications at home for a while now. I have my own libraries and coding structures. All my applications are stored on a local disk drive and manually backed up to an external drive whenever I can remember to do it.
However in this environment creating branches of code or experimenting with code changes becomes extremely difficult. I also like to have access to my code at work and often end up carrying copies around on portable flash drives. So I felt it had become time to find a source control solution for all my personal dev work. The basic requirements being:
- Basic source control functionality for my code.
- Private access (not open source).
- Access from multiple computers in different locations.
- Low to nonexistent costs.
At work I use Team Foundation Server, which would be excellent if only I could afford to keep a TFS server running at home. So I started to look at the various online source control hosting services out there. These mainly use either GIT or Subversion and often provide tailored plans for open source or personal development.
I found choosing between Subversion and GIT more of a personal choice. I eventually went with Subversion as I found the freeware tools available best suited my development environment i.e. Microsoft .NET:
Tortoise SVN http://tortoisesvn.tigris.org This Windows client for Subversion allows you to create and download from repositories based on a Windows folder structure.
AnkhSVN http://ankhsvn.open.collab.net This Visual Studio extension allows for seamless integration with your SVN repository from within Visual Studio, what's more it's free.
Winmerge http://winmerge.org This freeware comparison and merge tool is infinitely better than the default tool provided by Tortoise SVN and it is well worth going to the trouble of Googling the settings required to get it working with whatever source control technology you use.
Once I had decided upon a source control technology and I had the relevant tools in place I singled out some online repository services to trial.
Freepository http://www.freepository.com 1 Private Repository, 1 User, Unlimited Storage
Beanstalk http://beanstalkapp.com 1 Private Repository, 1 User, 100mb Storage
Codesion http://cloudforge.com/ 1 Private Repository, 1 User, 200mb Storage
Project Locker http://projectlocker.com 1 Private Repository, 3 User, 300mb Storage
Rouix SVN http://riouxsvn.com 1 Private Repository, 3 User, 50mb Storage
When choosing the services to evaluate I was merely concerned with their ability to provide a source control repository, not any additional features such as bug tracking, wikis etc. Such features would open up a much longer and detailed discussion.
My preferred choice was undoubtedly Beanstalk. With its clean and crisp web interface for easy configuration and reasonably fast download and upload speeds it was a clear winner. The only downside for me was a 100mb repository size limit on their free account. I would imagine most people would quickly find this limitation a problem and in which case would need to consider one of Beanstalk's premium plans.
This is where Freepository started to look more promising. The web interface is a bit naff and upload and download speeds were noticeably slower but it does have unlimited storage space for its free accounts. I have been using Freepository for the last month and have to admit I have yet to find any serious issues with this service and for my needs it appears to work perfectly.