Chapter 4. Control Code Versions and Development Branches
I was working on the proof of one of my poems all the morning, and took out a comma. In the afternoon I put it back again.
Oscar Wilde
Best Practice:
-
Use a standard version control system and keep track of development branches.
-
Integrate your code regularly and commit changes both regularly and specifically.
-
This improves the development process because developers can work in isolation without drifting apart.
In this chapter we apply the ideas of GQM to version control. Bugs and regressions (recurring defects) occur regularly during development and maintenance of any codebase. To solve those you will need to reanalyze code, and you may need to revert some code or configuration to earlier versions. Consider what happens if there is no version control and all developers can only work on one version. It will be hard to see who is changing what and hard to avoid that developers break each other’s code.
Version control is a solution to this. It does what it says: controlling versions, which allows you to divide work among developers. In its most basic form, a version control system tracks changes by labeling them with the person who made the change, and a timestamp of that change. Having the version history available allows you to revert to an earlier version when necessary.
To better understand what version control systems do, let us start at the beginning. There is one main version of the code that is leading for ...