November 18, 2011

Changing Project Binding to Surround SCM Integration Provider with Visual Studio 2010

Surround SCM
Andrew Horner, one of our Sales Engineers, was recently on-site with a customer that purchased Surround SCM, and had a large amount of source code which they wanted to import into Surround SCM from another tool. The customer had also been using a source code plug-in that allowed them to perform source code control (SCC) actions from within Visual Studio. Surround SCM has a similar plug-in that allows you to perform all of the standard SCC actions as well as other actions specific to Surround SCM, such as attaching source code changes to an item in TestTrack Pro. In this post, Andrew explains how to bind to Surround SCM as the source code provider for an existing project. This example uses one of our sample Visual Studio solutions, Bug Reporter, that is currently bound with Visual SourceSafe, and shows you how to change the binding from Visual SourceSafe to Surround SCM Integration Provider. If you're converting from another source code management tool, the steps will be similar. Before getting started, make sure the following are installed:
  • Visual SourceSafe
  • Visual Studio (2005 or later)
  •  Surround SCM Client
  •  Surround SCM’s Visual Studio 2005, 2008, and 2010 plug-in
If you do not have the Surround SCM Client and/or plug-in installed, you can download the client installer here: You’ll also need to make sure a mainline branch has been created in Surround SCM. IMPORTANT: Make sure that any changes you have made to the files in Visual SourceSafe are checked in before performing the following steps and you have the latest version or your project and files on your machine.

Unbinding the solution and projects

1. Open the existing solution in Visual Studio. You should see lock icons next to each item, indicating the solution is bound to Visual SourceSafe and not currently checked out. [caption id="" align="alignnone" width="563" caption="Figure 1: Solution bound to Visual SourceSafe"]Solution bound to Visual SourceSafe[/caption] 2. In Visual Studio, select File > Source Control > Change Source Control. 3. Select the solution in the list and click  "Unbind". [caption id="" align="alignnone" width="409" caption="Figure 2: Unbind the solution"]Unbind the solution[/caption] 4. Click "Unbind" to confirm that you want to unbind the solution. [caption id="" align="alignnone" width="307" caption="Figure 3: Unbind confirmation message"]Unbind confirmation message[/caption] 5. Select the project in the Change Source Control window and click "Unbind". 6. Click "Unbind" to confirm that you want to unbind the project. 7. Repeat steps 5 and 6 until all projects in the solution have been unbound. 8. After all projects have been unbound, click "OK" in the Change Source Control window.

Binding to Surround SCM

1. In Visual Studio, select Tools > Options. 2. In the Options window, click the Source Control tab on the left. 3. Change the current source control plug-in from Visual SourceSafe to Surround SCM Integration Provider and click "OK". [caption id="" align="alignnone" width="455" caption="Figure 4: Change provider"]Change provider[/caption] 4. In Visual Studio, select File > Surround SCM > Bind/Unbind Settings… 5. Select the solution in the list window and click "Connect". If you're prompted to log in to Surround SCM, enter your username and password, then click "Connect". 6. Select the solution in the list window again and click "Bind". The Surround SCM Repository Browser: Open for Solution window opens. 7. Select the branch and the repository that you want to add the solution to, then click "Create Repository”. [caption id="" align="alignnone" width="475" caption="Figure 5: Create solution repository"]Create solution repository[/caption] 8. Enter a repository name and working directory for the new repository. The working directory should be set to the directory where the solution file resides. For example: [caption id="" align="alignnone" width="339" caption="Figure 6: Enter repository name and working directory"]Repository name and working directory[/caption] 9. Click "OK" in the Create Repository dialog. 10. Click "OK" in the Repository Browser window. 11. Select the project in the Surround SCM Connection Settings window and click "Bind". 12. Click "OK" in the Repository Browser window. 13. Select the same branch as before and the repository that contains the solution file, then click "Create Repository". [caption id="" align="alignnone" width="476" caption="Figure 7: Create project repository"]Create project repository[/caption] 14. Enter the name for the new repository and the working directory path, which should be set to the directory where the project resides, and click "OK".

 Tip: By default, the Surround SCM plug-in selects the working directory as a sub-directory of the parent working directory. If your project isn't in the default path, select and then deselect "Inherit working directory from parent", which will allow you to edit the working directory path.

[caption id="" align="alignnone" width="295" caption="Figure 8: Create repository"]Create repository[/caption] 15. Once the solution and all the projects have been bound, click "OK" to save your changes. 16. Right-click the solution file in the Solution Explorer window and select "Add to Surround SCM". 17. Verify the binding information and click "Yes" to bind to the specified location. [caption id="" align="alignnone" width="376" caption="Figure 9: Bind confirmation"]Bind confirmation[/caption] Your solution has now been bound and added to Surround SCM.