B. Branching and Merging [5] [6]
Trunk is considered as the main repository of development, originating from the start of the project until the present. However, development in a main single line is not flexible. For example, when the incremental model is selected as the life cycle model, shorter increments or frequent releases must be delivered to the customer periodically. The separate line branching from the main development line called “Branch” is then required for maintenance or bug fixes while new development can occur on the trunk without any interference from bug fixes. At some appropriate point the branched source will be merged into the sources in trunk.