Tuesday, January 5, 2010

The one thing worse then a bad Source Control system

Source Control is a necessity on any software project of any significant size. Not only does it allow multiple developers to work on the same source at the same time, but it provides a historical record of the code and a backup in case a change needs to be undone later.


Choosing a Source control system for your project is a big deal and should not be done lightly. There is a massive penalty for changing systems. The historic data that is retained within the source code repository often cannot be migrated over to a new system. This means that all of the previous changes can't be backed out if needed down the road. The old source control system can be kept running for a while if needed, but management will eventually ax the server in the next round of cost cutting measures.


For this reason I believe that it is far worse to charge Source Control Systems then it is to continue to use a system that is a poor fit for the development team. One development project I once worked on has used 4 different source control systems in the history of the project, making it truly difficult to track down the history of a particular snippet of code.


I used to never comment where my code changes began or ended and left the majority of the discussion for the code check-in time. But for long lasting code projects, they will out live their original source control system. In this case another way to track changes is necessary even if it is at the expense of the cleanliness of the code.

No comments:

Post a Comment