

sourcesafe2subversion
- Download page
- http://support.felspar.com/FOST.3/Application:/sourcesafe2subversion/Download
- Development home page
- http://support.felspar.com/Project:/sourcesafe2subversion
- Subversion homepage
- http://subversion.tigris.org/
- Microsoft Visual SourceSafe homepage
- http://msdn.microsoft.com/vstudio/previous/ssafe/
sourcesafe2subversion is a tool for transfering a Visual SourceSafe source code repository to Subversion.
Introduction
The tool will take a complete SourceSafe repository and replay the events into a Subversion repository. Unlike the earlier tools this one attempts to preserve knowlege about common ancestry of files by replaying SourceSafe share and branch instructions whenever possible.
Compatibility
- This software has been used with Visual SourceSafe 6.0c and Subversion version 1.3.2.
- The source code is compatible with Visual Studio .NET 2003.
Acknowledgements
sourcesafe2subversion is based on earlier work by Brett Wooldridge and Power Admin.
Download
The tool is not yet avaialable for general download
Using sourcesafe2subversion
- For details about the context within which the tool is expected to be used read the guide on moving from Visual SourceSafe to Subversion.
- To understand how the tool works read sourcesafe2subversion Migration tool.
Running sourcesafe2subversion
sourcesafe2subversion is a command line tool. It can be configured via a number of command line switches and with an associated .ini configuration file. A sample configuration file is provided.
Executing the tool with no arguments runs it using the contents of the configuration file sourcesafe2subversion.ini assumed to be in the current directory.
Command switches
Command line switches are case sensitive. There should be a space between the switch and any parameters.
- -i path\file.ini—Change the configuration file to
path\file.ini. - -b—Do not display the startup banner—can also be configured in the configuration file.
- -s—Write the configuration settings to the log file—can also be configured in the configuration file.
- -e—Write the environment varialbles including command line to the log file—can also be configured in the configuration file.
For all values apart from -i that can be set in both the configuration file and the command line the command line value takes precedence.
Configuration file
The configuration file is split into various sections. Only settings relevant to sourcesafe2subversion are listed.
Unlike most configuration files of this nature the section names and item names in FOST.3™ are always case sensitive.
sourcesafe2subversion
- Temp=path\file.txt—A scratch file to use. This setting is required.
- History=path—A directory to use for caching the history results. You are responsible for creating this directory. If not specified then sourcesafe2subversion queries all file histories from SourceSafe each time it is run.
VSS
- Datebase=path—The path to the SourceSafe database (without
srcsafe.ini). If not given then SourceSafe will use the default database. - ss=path\ss.exe—The path to the SourceSafe executable. The default is the standard install location.
- user=Admin—The user used to read the SourceSafe database. For best results this should have full access to the database.
- password=pwd—The password to use. If not specified then the tool assumes no password.
SVN
- Directory=path—The directory in which sourcesafe2subversion can build up the Subversion repository structure over time. It contains the tool's working copy of the repository.
- Root=svn://repo.server/path—The repository URL that the tool should import the SourceSafe database to.
- user=vss_import—The user name used for the import tool. Currently everything is imported using this user name.
- password=password—The password for the user. If not specified then a blank password is used.
Test run
We recommend that you first of all run it against the test Visual SourceSafe database included in the distribution into a test Subversion repository in order to make sure everything is working properly.
It is also recommended that you get a clean migration from each SourceSafe database you wish to use into a test Subversion repository before migrating on your production repositories.

