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.

The figure 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.