Importing data from Microsoft Visual SourceSafe

This example demonstrates the use of command-line tools to import data from Microsoft® Visual SourceSafe to a new VOB. It describes a sample Visual SourceSafe configuration, shows how to import it, and examines how the import process treats various Visual SourceSafe features.

This example assumes that you have created and mounted a VOB named \payroll to hold the imported data.

Overview of the example Microsoft Visual SourceSafe configuration

The sample payroll configuration contains source files used to build an application named payroll.
Figure 1: Sample Microsoft Visual SourceSafe configuration

Figure 7. shows a configuration hierarchy in Microsoft Visual SourceSafe. The hierarchy consists of a parent project and three subprojects.

Sample Microsoft Visual SourceSafe configuration shows the configuration hierarchy in Visual SourceSafe, which consists of these projects:
  • $/payroll project
  • /progs subproject for storing source code
  • /bugfix subproject where developers store defect fixes
  • /queries subproject for storing SQL queries
The payroll configuration contains the following objects:
  • Shares. In Visual SourceSafe, shares are similar to hard links. In the example, the $/payroll/bugfix/add.sql and $/payroll/queries/add.sql files are Visual SourceSafe shares. Any changes that you make to one of these shares is displayed in the other share.
  • Branches. In Visual SourceSafe, you must create a share before you can create a branch. The $payroll/progs/mod_empl.c and $payroll/bugfix/mod_empl.c files are shared for versions 1 and 2. At version 3, the $payroll/bugfix/mod_empl.c file forms its own branch.
  • Labels. Labels identify a particular version or a project. The configuration uses the REL1 label to identify the versions of source files used to build the first release of the payroll application.
  • Pins. By default, Visual SourceSafe uses the latest version of files. With pins, you can direct Visual SourceSafe to use a version other than the latest. In the payroll configuration, version three of $payroll/bugfix/mod_empl.c is pinned.

clearexport_ssafe recognizes and handles most of these objects during the export phase of the conversion process.