Models and branches
Introduction to models and branches
When multiple developers or teams work on different features of an application, they can make additional branches within a model for these features. Each feature can be developed separately in its own branch. When completed, it can be combined (merged) back into the model's origin branch. This way, a new feature can be developed and tested independently from the rest of the model. See also, Models and Branches.
It is also possible to merge a branch into a different branch than its origin branch. Whether we merge with the origin or with another branch, it always involves merging the changes from a source branch into a target branch. See also Merging.
To fine-tune your development workflow, you can create multiple branches for multiple features:
Branching example containing two feature branches, a hotfix branch, and a sub-feature branch
Overview of models and branches
menu Models > Model overview
-
The tab Models contains a list of all models in the Software Factory development environment. Here, you can create new models and branches.
-
The tab Branches contains a list of the MAIN branch and all other branches of the selected model. Here, you can add a new branch and modify the generic settings for branches.
In the tab List, you can see whether a branch is:
- Protected - This branch cannot be archived or deleted. See Protect a branch.
- Finalized - This branch can no longer be developed but is still available for reference. See Create a merge session in the Merging guide.
- Archived - This branch no longer contains operational data but can be restored. See Archive and unarchive a branch.
-
The tab Quality dashboard gives an overview of the overall quality of the selected model. See Quality dashboard.
Select a model and branch on start-up
Upon starting the Software Factory, you need to select the model or branch in which you want to work. By default, your most recent model and branch are selected. This can also be a model or branch you just created and continued working in.
If only one model and branch are available in the prefilters for My models/branches ,
the Software Factory will automatically start this model and branch.
In that case, you can still switch to another model or branch.
See:
- Switch to another model or branch
- Add a model or branch to the 'My models/branches' prefilters
- Remove a model or branch from the 'My models/branches' prefilters.
Switch to another model or branch
A breadcrumb trail is available on every screen to indicate which model and branch you are working in. You can switch to another model or branch at any time.
To switch to another model or branch:
menu Models > Switch branch
-
In the group I would like to, select whether you want to:
- Select an existing branch - Continue with the next step.
- Create a new branch - For further steps, see Create a new branch.
- Create a new model - For further steps, see Create a new model with a MAIN branch.
-
In the group Select a branch:
- Select a Model.
- Select a Branch.
- Optional. Select the checkbox Remember branch to make this your default branch for the model.
tipYou can use the lookup control
to select a different model or branch. If the model or branch you are looking for is not visible, deselect the My models/branches
prefilter.
See also Add a model or branch to 'My models/branches' prefilter and Remove a model or branch from 'My models/branches' prefilter.
-
Select Execute.
-
Select Yes or No in the pop-up message whether all open documents should be closed. You can stop the confirmation message from appearing by selecting the checkbox Always. To turn the message back on, see Registered user settings.
When you switch to another model or branch, all open windows are closed to prevent working in your previous model or branch. The Software Factory remembers your last selected model and branch and will restore them when you log in.
.
Switch to another model or branch
Add a model or branch to 'My models/branches' prefilter
You can add models and branches to the prefilter My models/branches .
menu Models > Model overview > tab Models / tab Branches
- If necessary, deselect the prefilter My models/branches
. Now, all available models and branches are visible.
- Select the model or branch you wish to add to the prefilter.
- Execute the task Add to 'My models/branches'
.
- Reselect the prefilter My models/branches
. Now, the model and branch you added are still visible.
Remove a model or branch from 'My models/branches' prefilter
You can remove models and branches from the prefilter My models/branches .
menu Models > Model overview > tab Models / tab Branches
- Select the model or branch you want to remove.
- Execute the task Remove from 'My models/branches'
.
Branch diagram
The branch diagram shows a graphical overview of the branches inside the model and how they interact.
menu Models > Model overview > tab Branch diagram
- Archived branches are visible by default, and shown in grey.
You can exclude them by executing the task Show/Hide archived branches
. For more information, see Archive and unarchive a branch.
- Protected branches have a padlock icon
. For more information, see Protect a branch.
- Finalized branches are shown in grey and have a circle icon
. For more information, see the information about finalizing branches in Create a merge session in the Merging guide.
Merges from a source branch into a different branch than the origin are not shown in the branch diagram.
For more information on managing branches, see this blog in the Thinkwise Community.
An example of a branch diagram
Customize the branch diagram
You can change the branch diagram settings in the following places:
- Model-wide: menu Models > Model overview > Models > tab Model overview.
The settings specified here apply to the entire model, with no distinction between who is logged into the Software Factory. However, if you have customized your settings, they will override the model-wide settings. - User-specific: menu Models > Model overview > tab Branch diagram > tab Settings.
On this tab, you can customize your personal preferences. These settings are not displayed for other users. The same tab page is displayed in the menu Maintenance > Users > tab Branch diagram settings.
Edit the following branch diagram settings to modify how it is displayed:
- Display versions from - Set a start date and time to the range of versions that should be displayed.
- Display versions to - Set an end date and time to the range of versions that should be displayed.
- Width between versions - Specify the number of pixels between each version circle in the branch diagram.
If you select a date range, the branch diagram will show the following:
- First versions are always shown, regardless of whether they fall within the specified range. Without the first version, the creation logic of branches would be lost in the diagram.
- Named or merged branch versions are only shown if they fall within the specified range.