10.3 Integrating Changes

During the lifetime of a project, the contents of individual elements diverge as they are branched and usually converge in a merge operation. Typically, the project manager periodically merges most branches back to the main branch to ensure that the code base maintains a high degree of integrity and to have a single latest version of each element from which new versions can safely branch. Without regular merges, the code base quickly develops a number of dangling branches, each with slightly different contents. In such situations, a change made to one version must be propagated by hand to other versions, a tedious process that is prone to error.

As a project manager, you must establish merge policies for your project. Typical policies include the following:

There are other scenarios as well. Chapter 14, Integrating Changes, describes merging in detail.