Model Merge enables copying changes between different project versions. This functionality is usually needed when there are several branches that reflect different releases or versions of the product, e.g. when certain fixes have to be copied from a release branch to the mainstream development.
Merge functionality in MagicDraw works both on file system files and projects stored in MagicDraw TeamWork Cloud. The general workflow for merging projects is as follows:
To start merging select Project Merge from the Tools main menu. The Merge Projects dialog opens (see Figure 1).
Choose source project (changes are going to be copied from source to the target project). Target is automatically selected as the opened project version. If merge is executed with Teamwork Cloud projects, ancestor project is automatically selected. If you are working with local projects, please select the ancestor to initialize 3-way merge.
The Merge window appears which allows analyzing changes made in source. Target changes are automatically hidden unless they are conflicting with changes from source. You are allowed to resolve conflicts before the merge is finished (e.g. when the same class is edited in both contributors) (see Figure 2).
After accepting and rejecting changes and resolving conflicts, the user is asked to confirm changes and they are merged to the target.