For those new developers out there this is a topic to help you think about why version tracking is important. Since about 2004-2005 I’ve been using some form of version tracking software. I started using it when I switched from ColdFusion as my main web development language to PHP. This was when I was introduced to SVN and how it helps track code changes.
As I started to use SVN I found it was indispensable as part of my work flow. The days of me having to remember every file I had edited between production and development was over. My first major project which was a time tracking system in ColdFusion didn’t have version control and there were many time I crashed the production system with new updates. Then I would spend hours if not days trying to fix the production server. In the end we finally got to a point where the code base was very rigid and needed to be replaced.
The next iteration of this project was done in PHP and from the start used SVN to track all the code changes. Now when an update crashed the server we could quickly revert back to a previous working version and go back to development to try and figure out what went wrong. The reason I left SVN was for a more robust version control system.
Today we are using Perforce and mostly because it allows for a higher layer of security then SVN did. SVN is an all or nothing kind of system which is fine for most projects but as we started to add more developers we needed a place to put all our programming project and then provide only access to the ones that the developers would be working on. Perforce provides this major feature and integrates with Visual Studio.
We can also use the Perforce tools in both our Visual Studio and the Unity 3D editor. Having this kind of integration between all our suites of programs and utilities will help our team keep track of all the crazy changes we will be doing. With just a week of time there is going to be a lot of files being updated and worked on. Perforce will help our team keep track of all these changes and allow us to develop together as a team.