Branch Lesson 3 – Internal Link Branching

In this lesson, we will branch two modules, one out-linked to the other using an internal link module (i.e. a link module that is inside the branch source project). Afterwards we will review the results of the operation to see that the branch operation created a new link module in the branch target project and it is used to store the links between the branch target modules.

Before branching, you need a project to branch into. For the purpose of this lesson, create a new project in the Branch Lessons folder as shown: right-click in an empty space of the list view on the right side of the database explorer, choose New > Project... Enter a name for the new project, e.g. "2-3 Branch [username]", and press OK.
The new project will appear in the Branch Lessons folder. Now start the "Branch Modules" script as shown in Lesson 1.
Select the target project to branch the module into by pressing the Browse button.
Choose the new project in the Branch Lessons folder that you created and press the OK button.
You see that the project appears in the text field. Choose the module baseline to branch by pressing the Select Modules button.
Using the Tag List Editor that appears, navigate to Module X and Module Y in the project for this lesson. Double-click the "1.1" baselines. After you’ve chosen the baselines, press the Use selected Modules button.
You see that the module baselines now appear in the module list. Press the Start Branch Copy button to start the branch process.
After you press the Start Branch Copy button the branch process will begin. A small dialog box will appear announcing the various stages of the branching process and showing the total advancement with a progress bar. When the branching is complete, an information box will appear. Press the OK button.
The focus returns to the Branch Copy GUI. We are finished with it, so press the Close button.
You can see that Module X and Module Y have been copied to the project you created. Also, notice that the link module, Internal Linker, has been copied too, even though you did not explicitly choose it in the Tag List Editor. The branched link module was created because in the original project there existed a link module storing links between the modules branched.
To see that the links from branched Module X to branched Module Y are stored in the branched Internal Linker, open the branched Module X and right-click on an object with an out-link, and choose Properties...
A dialog box will appear. In the Links tab you see that an out link exists to the branched Module Y and goes through the branched link module.
We can also see the result by opening the branched link module and choosing the link set between the branched modules.
The link set shows the links between the branched modules.