Pages

Tuesday, November 26, 2013

Source Code Control

We all know about the UNDO key, which forgives our mistakes and helps us to start over. Most of the applications allow multiple levels of undo and redo. But what if we want to go back to something that was there 10 days back, even after rebooting the system multiple times?

That’s where Source Code Control Systems (SCSS) come into handy. SCSS can be considered as a project-wide giant UNDO key that allows us to go back to any point of time (in the development history!).

A good source code control system not only allows us to undo things. It helps us to:

  1. Keep track of every change we make in the source code and documentation
  2. Keep track of compiler and OS versions
  3. Answer many questions
    • Who made changes in this line of code? 
    • What's the difference between the current version and last week's? 
    • How many lines of code did we change in this release? 
    • Which files get changed most often?
  4. Identify releases of our software
  5. Create parallel branches and work separately on them
  6. Have multiple people working on the same code base
Source code control systems may keep the files they maintain in a central repository—a great candidate for archiving.

Progress, far from consisting in change, depends on retentiveness. Those who cannot remember the past are condemned to repeat it. 
- George Santayana


- summary of Source Code Control, from The Pragmatic Programmer: from Journeyman to Master

No comments:

Post a Comment