As you all know, Microsoft Visual SourceSafe 6.0(VSS 6.0) was first shipped in 1998. Although there are 4 versions from 6.0a to 6.0d, it had been about 7 year before the next version VSS 2005(VSS 8.0) was released. You may be curious on how many things have been changed in this big step. Here, I listed some major ones.

1.       Internet Access

 

The most obvious and vital change might be the Internet Access. This feature enables you to connect to VSS database when you’re outside your office. It’s normally much faster that connecting through VPN. VSS 2005 can expose web service to perform most of the work we do in the LAN. In the 6.0 version, we can only achieve this by using some 3rd party tools like SourceOffSite from SourceGear.

 

 

 

Since it is a web service, it requires that you have IIS installed on your machine. Here is an MSDN article about detailed steps of how to setup this web service.

http://msdn2.microsoft.com/ko-kr/library/ms181057(VS.80).aspx

 

In Visual Studio 2005, you can specify the source control provider from Tools/Options dialog in the main menu.

 

 

However, in VS.NET 2003 and older versions, there is no integrated way for us to set the active provider. We have to do this by manually registering the source control provider .dll file: regsvr32.exe RemoteVsScc.dll or you can use some 3rd party tools like Scc Switcher.

http://www.codeproject.com/tools/sccswitcher.asp

 

Of course, manually modifying the registry key will be another option. Here is a KB article with detailed steps to do this.

http://support.microsoft.com/default.aspx?scid=kb;en-us;319318

 

2.       LAN Booster Service

 

Another improvement is called LAN Booster Service.

http://msdn2.microsoft.com/en-us/library/ms181058(VS.80).aspx

 

After enabling it with the steps shown in the above link, a new service SSService.exe will be running under the LocalSystem account on the server machine. This service compresses all the files that are going to be transferred through the network on the wire, which will improve performance at about 3-5 times. However, from name of it, we can know that this service is only available for LAN provider. (NOT for internet provider)

 

 

 

3.       Better Visual Studio Integration.

 

Now VSS 2005 has better integration with Visual Studio. An obvious example is that users don’t need to select “Open From Source Control” to open solutions from VSS database. This function has been put into the Open Project/Solution dialog.

 

 

 

4.       Migration Tools Needed?

 

The database format is not changed from VSS 6.0 to VSS 2005. So no migration tool is needed for you to upgrade databases. You can simply copy them to the new server.

 

5.       Asynchronously File Retrieval

 

When you get files in VS.NET IDE, there will be a dialog box popped up, indicating that files will be retrieved from server asynchronously. This means if you have a large solution/project, you can start working when some of the files have been retrieved. And file transfer from server will not block your IDE.

 

 

 

6.       Programming Interfaces(Automation)

 

Like previous versions, VSS 2005 has a complete set of interfaces (known as SCC API) developed for us to program on it. It also has been ported to interop assemblies for .NET development.

 

Furthermore, the Visual Studio SCC API forward with a new 1.3 version. 1.3 includes all existing 1.1 and 1.2 methods plus some new methods to help support asynchronous Open from Source Control and propagation of Renames and Deletes from Visual Studio.

 

7.       No Longer Supports SQL Server Objects Versioning

 

 Unfortunately the earlier support in VS.NET 2003 for versioning SQL server objects will no longer be supported in VS 2005. However, we can find some workaround like saving the script (.sql) files in VSS, since all SQL Server creations and modifications can be translated to SQL scripts.

 

Here I just listed some most important changes. If you have other stuff that is not included here, welcome for your comments.