Promoting branches

Promoting is the process of updating an ancestor branch with changes made in a related branch. Promoting merges changes from the child branch up to the parent branch. Promote the branch when you finish making changes to source files and are ready to share your changes. This ensures the ancestor branch includes the most current files and other users have access to your changes.

For example, Michelle works in her workspace branch. She finishes developing the new features assigned to her and completes informal testing. She knows Jack, the QA manager, wants to start formal testing, so she promotes her branch. Jack then rebases her changes into the QA Build branch and starts testing.

You can promote changes to an ancestor branch. For example, Pat finishes making bug fixes in the Version 1.5 branch. This branch was created from Version 1, but he does not want to promote changes to Version 1. Instead, Pat promotes to WysiApp, which is the parent branch for Version 1 and the grandparent branch for Version 1.5. When the team starts development on Version 2, the branch is created from WysiApp. This ensures Pat’s Version 1.5 bug fixes are included in the Version 2 code.

You cannot promote files from a snapshot branch. Snapshot branches are static and cannot contain differences.

Custom field values and workflow states set on files in the ancestor branch do not change when promoting. Files added to the ancestor branch when promoting are set to the default custom field value and workflow state defined on the Surround SCM Server.

1. Select the branch to promote and choose Branch > Promote Branch.

The Promote Branch dialog box opens.

2. Select an Ancestor to promote to branch.

If the branch you are promoting was created from a snapshot branch, the first non-snapshot ancestor branch up the branch tree is automatically selected and a warning that the parent branch is a snapshot is displayed. Snapshot branches are read only, so you cannot promote them.

3. Enter any Comments, such as the reason for promoting the branch.

4. Select a Promote files based on option.

  • Latest version promotes the latest version of each file.
  • Timestamp promotes changes from the specified timestamp.
  • Label promotes changes from the selected label. Click Select to view label details or search for a label. See Selecting labels. Labels on files in the parent branch are not copied to the child branch.
  • Latest version in state promotes changes from the latest version of each file in the selected workflow state.
  • Snapshot promotes changes from the selected snapshot branch.

5. Select Skip server auto-merge to promote all files and overwrite the ancestor branch files.

6. Click Preview.

The Promote Preview dialog box opens. Files that will be promoted, files that will not be promoted, and files with conflicts are displayed. You can perform actions and resolve conflicts based on the file status and your security permissions. See Promote preview.

7. Select a file and click Promote File to promote it or click Promote All to promote all files.

The Promote Status dialog box opens. You can perform many of the same actions available in the Promote Preview dialog box.

8. Click Close when you finish.