Branching Version Trees

When you connect to the repository for the first time, the <Default> branch is created to act as the trunk of the version tree. You can create branches that diverge from the trunk to support concurrent development of multiple versions of repository documents. You must have the Manage Branches right to create branches.

  1. Select Repository > Branches to open the List of Branches.
  2. Click the Add a Row tool to create a new branch, and then click the Properties tool to open its property sheet:


  3. Enter an appropriate name, code, and comment to describe the branch.
  4. Select the base branch upon which you want to base the new branch. If this is your first branch, the base branch will be Default. If you have already created other branches, it can be any of them.
    On creation a branch inherits all the document versions in its base branch. If you select <None>, the new branch will be a second trunk in parallel with Default, and will be empty upon creation.
  5. Click OK to return to the List of Branches.

The following example shows three documents being used by a software development team:

  • Requirements.doc - to specify the software architecture.

  • Model.PDM - to design the database.

  • Implementation.OOM - to develop the software implementation.



Depending on the type of release on which they are working, each engineer will choose a different branch to connect to in the repository, and will have access to different versions of the documents:

Branch

Document versions

MAJOR - used to work on the major release of the software, specifying new requirements for, designing, and implementing major features.

Requirements.doc V5

Model.PDM V5

Implementation.OOM V4

MINOR - (based on MAJOR)used to work on a minor release to correct bugs and add small features.

Requirements.doc V3.1.2

Model.PDM V2.1.4

Implementation.OOM V2.1.4

EBF (Emergency Bug Fix) - (based on MINOR) created after the minor release to let engineers correct bugs on a released software version.

Requirements.doc V3.1.2

Model.PDM V2.1.4

Implementation.OOM V2.1.2.1.2