Branching is a further refinement of the merging development process.
Branching can provide higher efficiencies over large development teams that have overlapping releases, but it requires significant administrative overhead.
This section contains the following topics:
In branching, developers work on private branches to isolate their code from other developers and merge changes back to the main branch.
Different strategies can be followed, depending on the size of the development team.
In the Simple Development Model, all development occurs on a single main branch. This strategy has the following characteristics:
Only for emergency fixes
Checkouts might not be the most current code
Carries a stability risk for the mainline branch
The figures shows the Simple Development Model.
In the Small Team Development Model, development occurs on a single Dev branch, with a separate Main branch strictly for releases. This strategy has the following characteristics:
The Mainline is the official release branch
Development occurs on a separate branch
Stable code is merged back to Main at key milestones
Branches are synchronized periodically
The figure shows the Small Team Development Model.
In the Multi-Team, Multi-Release Model, development occurs on multiple Dev branches, again with a separate Main branch strictly for releases. This strategy has the following characteristics:
Supports more efficiency over disparate teams
Development occurs on separate branches
Stable code is merged back to Main at key milestones
Branches are synchronized periodically
The figure shows the Multi-Team, Multi-Release Model.
Using complex branching strategies in Oracle Business Intelligence requires attentive organization of repository files, as well as altering the Multiuser setting in the Oracle BI Administrative Tool.
The following procedure provides an overview of the required steps.
To use the multi-team, multi-release model branching strategy:
For large development teams, it is a good practice to perform periodic branch synchronization as Main changes, in order to ease the ultimate Team publishing step.
Use the Administration Tool to synchronize repositories in a three-way merge.
To synchronize repository branches: