A synchronization merge is appropriate when synchronization of a branch with its ancestor is required.
For example, feature branches should be periodically synchronized with their ancestor to minimize integration risk.
Synchronization should be performed as frequently as possible. Indeed, projects which practice continuous integration might require team members to synchronize their branches are pre-determined intervals such as daily or weekly.
To synchronize a branch:
Click the Synchronize Branch button:
Verify that the selected working copy does not contain any uncommitted modifications.
Merging into a working copy which contains uncommitted modifications can result in unnecessary conflicts and is not recommended.
Cornerstone will display a warning in the Working Copy Checklist if modifications are detected. If necessary, click the Revert... or Commit... button as required.
Verify that the selected working copy is up-to-date.
Merging into a working copy which is not up-to-date can result in unnecessary conflicts and is not recommended.
Cornerstone will display a warning in the Working Copy Checklist if the working is not up-to-date. If necessary, click the Update to Latest Revision button to bring the working copy up to date.
Specify the ancestor branch to merge from in the Merge from field.
This field will be filled automatically for branches which have been synchronized before.
If required, change the merge options by clicking on the Options popup button.
Cornerstone will display a preview of the changes to be merged.
Click the Merge Changes button to merge the changes into the working copy.
Unmerged changes in the ancestor branch are merged into the selected working copy.
Verify the changes and resolve any conflicts.
Commit the changes to the repository to complete the merge operation.