From Seapine Labs
Works with Surround SCM 2009 and Python 2.6
We have a large number of customers who move to Surround SCM from Visual SourceSafe. One of things they look for is a way to "convert" their existing data to Surround. In general, our experience has been that this may not be the best answer. When you move to a new SCM system, you want to structure the data in way that takes advantage of the new system. In addition, it's not possible to move the data over with perfect fidelity. The concepts in one system rarely map perfectly to the new system.
With all those caveats, I've created a script to assist in migrating to Surround from Visual Source Safe.
[edit] About the script
The script is writen using the Python scripting language. Python is available on all the platforms Surround ships on.
The script works well with Python 2.6. The latest version of Python, 3, made some major changes that require corresponding major changes to the script.
It takes advantage of two libraries. The first is the Python Surround wrapper that I have posted here. Just place the python wrapper in the DLLs directory in the Python installation directory.
The second is win32com extensions, which you can download from here. Make sure that you download the version that matches your version of Python (2.6).
The script simply get's all the versions of all the files and checks them into Surround.
[edit] Options
The script takes the following options:
-a :The username used to log in to the SourceSafe database.
-b :The password used to log in to the SourceSafe database.
-c :The directory where the SourceSafe INI file is located.
-d :The SourceSafe folder to start the conversion in.
-e :Specify the Surround SCM repository to import SourceSafe into.
-f :Specify the existing Surround SCM mainline branch name.
-g :The name of the Surround SCM mainline branch to create.
-i :Ignore users.
-j :The connection string to create a mainline. This is the RDBMS connection ID for the location to create the mainline branch and its corresponding files. Default is 0, which is the server database.
-l :The file name to log results to.
-r :Restart a previous conversion.
-s :Steps for later restart.
-w :Enter the username used to log in to Surround SCM.
-v :Turn on verbose logging.
-x :Enter the password used to log in to Surround SCM.
-y :The address of Surround SCM Server host computer.
-z :Enter the port number of Surround SCM Server host computer.
[edit] Example
The following example imports the entire source safe database into a brand new brand new mainline that is created in the default server database:
vss.py -a admin -b "" -c "C:\vssdb\srcsafe.ini" -d "$/" -g WysiCorpVSS -i -w Administrator -x "" -y 127.0.0.1 -z 4900
Note that you must have a space between the option and its value, also that eventhough neither of my accounts had passwords, I still had to pass that option with an empty quote (""). If you do not pass this, the command is likely to fail.
[edit] Download
Download the python file here.
NOTE: Seapine does not offer support for this script.