Articles | Full Index | RSS Feed
For a long time now I've used SourceSafe as the version control system for all the projects I develop. Recently however I've noticed that because I often develop away from the server machine that hosts the SourceSafe database, I've been a bit slack about how often I check in the code I'm working on.
For those not familiar with version control systems, these are applications that maintain the history of a set of files - typically the source code from which an application is built. They're an essential tool for any software development project as they allow reverting to previous versions, seeing histories of changes etc...
Anyway, I recently came across a source control system by Linus Torvalds (the guys behind Linux) called GIT. While I was a little sceptical of its command line interface I've come to really like this system. I particularly like that it's a distributed system which allows me to commit changes while I'm disconnected from the main repository.
Now while it's possible to run this all on a Windows machine I thought it would be interesting to set a Linux server to host my main source code repository. At the same time I didn't want to setup a dedicated machine just for this so I played around with running Linux in a virtual machine and finally came up with a way to run it as a service under Windows.
So I've now got a dedicated virtual machine running on my already existing Windows machine, but is hidden from the desktop running as a service. I can SSH into it, SFTP to it and GIT to/from it from pretty much anywhere. If I wanted to I could even set it up as a web server to allow viewing of histories and comments from within a web browser.
If you're interested in how to set this up, I've written up some rough instructions here: Running a Linux Server as a Windows Service
Posted on April 2, 2008