Saturday, March 10, 2012

Revision Control

I'm surprised again and again, when people do not use revision control systems in software development. Also I cannot understand not making frequently use of it. There are so many advantages when using it. Withal it does not matter which system is used, as long as one is used. I personally like to use subversion, but there are some others that can be used as well. Best known revision control systems are
  • Concurrent Versions System (CVS)
  • Git
  • Mercurial
  • Subversion (SVN)
But there are many others that could be mentioned, too.

There are many advantages using revision control systems. Usually called are
  • Backup functionality
  • Marked software revisions
  • History of changes
  • Concurrent software development
Some count backup functionality to the greatest advantage. But for me this is not the main feature of revision control. The main feature is the history of changes. All changes can be traced. Therefor you have to check in your code with significant comment. This is a point that is also not always done, but this should be a matter of course. Only with a significant comment you can identify the changes that are made. The checked in code with comment should reflect the added functionality. So it is easy to find the location at that the changes or added functionalities take place. It is also easy to revert changes that made the code worse. There are also other great features of revision control, but the main feature for me is history of changes.