January 12, 2009

Subversion Convert

Surround SCM

Works with Surround SCM 2008

We have a large number of customers who move to Surround SCM from Subversion. 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 Subversion.

About the script

The script is written using the Python scripting language. Python is available on all the platforms Surround ships on. It takes advantage of two libraries. The first is the Python Surround wrapper that I have posted here. The second is pysvn, a python wrapper for Subversion that can be downloaded from http://pysvn.tigris.org/project_downloads.html. The script simply gets all the versions of all the files and checks them into Surround. When possible, it uses sharing to simulate copying. It can optionally use changelists and labels for each revision. It does not use branches, as the Surround and Subversion concepts of branches are just too different


Download the python file here.