Search: Advanced search
Please enter a keyword or ID
Using Surround SCM Workspace Branches
Workspaces, or sandboxes, are private environments developers can create and use to implement code changes without affecting the common source code repository. Workspaces contain copies of source code files from the common repository and are stored either locally or on a server. Users can integrate changes from their workspace with the common repository and update the workspace with changes from the repository on demand.
Some software configuration management tools require users to make all changes in workspaces, others use a distributed repository model that requires pushing or pulling changes to and from a common repository, and some tools do not support workspaces at all.
Unlike many other tools, Surround SCM allows you to enable, disable, or require the use of workspace branches. Users can create workspace branches from mainline or baseline branches. After implementing and testing changes in the workspace branch, changes can be promoted from the workspace branch to the parent mainline or baseline branch. Users can also rebase changes from the parent branch to the workspace branch to ensure they are working with the most current files.
Ensuring timely promotion to parent branches
Before deciding to use workspace branches, it is important to understand how using them will impact your development and build processes. With workspace branches, users can check in their changes whenever they want to. This allows users to make and test changes before merging them with the mainline or baseline branch.
However, problems can occur if users are slow to promote their changes, or do not rebase to update the workspace branch before making changes. The longer code in a workspace branch ages, the more likely it is that defects may be introduced when the code is promoted. You should include guidelines for promoting and rebasing workspace branches in your branching policy, and make sure all users follow the guidelines.
Many organizations also allow users to make changes in workspace branches and mainline or baseline branches. Workspaces are commonly used to make larger changes that take a long time or to test new functionality. Other users can continue to make changes in the mainline or baseline branch. These changes are instantly merged into the codeline.
Configuring Surround SCM security
After you decide how you want to use workspace branches, you may need to change your Surround SCM security configuration. The method used to control workspace branch usage depends on your Surround SCM server, repository, and branch security configurations. For example, some organizations use branch security to control workspace branches but this method may not be optimal for your security configuration. The Surround SCM Security Best Practices Guide and Surround SCM help include security recommendations and configuration information.