My Version Control Story
I first started using version control software in around 1997, and straight away it was an absolute revelation.
I could immediately see the benefits, both as an individual, but more importantly when working as part of a larger development team.
I cannot think of one single project, either as a game developer, or a professional application developer since then that has not been put into some sort of version control software. Even the simple 100 line utilities.
The blocks below explain the stages of my journey. I will explain the pros and cons as I see them in another entry
Before Version Control
Hopefully this absolute worst case scenario (OK it turns out alright in the end) be a lesson into how important version control is.
When working on a multi-programmer project, when features were complete, which we would be working on separately, we would have “merge meetings”. We would all have noted which source files we had worked on, and we would put them onto a floppy disk.
We would all then take turns sitting with the lead programmer, and opening his version of a changed file, and your version of a changed file in Visual Source Safe 5/6
My first experience of version control was with Microsoft’s I found Visual SourceSafe to be entirely adequate whilst working in the games industry in an office with other people, and whilst working solo on projects outside the games industry, right up until around 2010, when the need arose to work in teams again, but remotely. As VSS6 needed to be installed on a local PC/server, this meant it was no longer a viable option. The answer was Team Foundation Server, which was the natural successor to VSS and worked in a similar way. The bonus with this though was that it could be set up on a web server, meaning it was ideal for remote teams who needed access to the same project. As it is so similar in concept to VSS, there really is not a lot to add. I still have projects stored in TFS today (around 50 in total), but I am slowly transitioning them across to what is probably now the biggest and best known version control system. GitHub. Now, every project that I set up both personally and professionally, is done so in GitHub. I will say right from the outset that for a long, long time I hated GitHub. With a passion. I just couldn’t get to grips with it, and didn’t like the way it “worked” when compared to TFS. Now I understand it more, and with the help of great tools like Perforce
The only other version control software I have used is Perforce, but this was only a trial, and was a long time ago. I can remember very little about it apart from it was ideally suited for all aspects of game development, but had a tricky learning curve and was difficult to install and set up. I think I might have to go back and re-evaluate this at some point. Another one I used very briefly was TortoiseSVN 4 which I had to use during one of the modules during my OU BSc (Hons) degree. Again, because I did not use it extensively I can remember very little about it outside me constantly comparing it to VSS and TFS and finding it coming up short.
Team Foundation Server

GitHub
TortoiseSVN
Sources
