Since I’m a “lone gun” developer, I have fairly basic needs in a version control system. I don’t wish to purchase a server and TFS for such basic requirements. I have found that the open-source version control system Subversion on my desktop machine handles my needs quite nicely. Additionally, I use AnkSVN with Visual Studio 2010 and everthing works great.
When parked in front of my TV or on my deck, I like to do development on my laptop. I duplicate my dev directory structure to match my desktop computer, and share out my subversion repository on my home network so that it can be accessed from my laptop through VS2010 and AnkSvn. For reasons unknown to this semi-illiterate-at-networking developer, this configuration seems to have hiccups. Sometimes the laptop doesn’t see the repository on the network either because the desktop is turned off or gremlins in my home network. One easily fixed, the other, not so much.
I read some discussion on the Windows Live Mesh utility, which allows you to store a synchronized folder on the Skydrive cloud service. Any computer running Live Mesh with access to my Skydrive account can automatically synchronize a local folder to the cloud-based folder. This sounded like a superior way to accomplish what I’d just described using the cloud instead of my home network. I had already purchased an upgraded amount of Skydrive space and was eager to put it to use.
I decided to create a synchronized folder of my Subversion source-code repository on Skydrive and synchronize both my laptop and desktop to it. Each device accesses a local version of the repository which when updated synchronizes itself to Skydrive. I repointed both installations of VS2010 to the local repository on each machine and voila! I now have my version control system stored on the cloud, yet both machines work with a local version of it. As I check code in, the mesh utility automatically synchronizes the Skydrive folder repository. I can almost immediately refresh my other machine with the modifed code.
I’ve been running this configuration for almost a week and it seems to work great! I now have a central cloud-based repository available to me 24×7 that can be accessed from anywhere I have an internet connection. Give it a try and let me know how it works for you!