My company has a large codebase in Surround SCM, which was migrated from SourceSafe a few years ago. We\'re looking to move to something more suited to our needs, but gettin
Finding myself in this exact scenario, I've take it upon myself to write such a custom importer: export-surround-to-git
This method is capable of preserving complete history, timestamps, authors, comments, branches, snapshots, etc.
This script has been tested in a limited number of scenarios, and has proven successful so far. While still a work-in-progress, this may be what you're looking for. It's open-source--so feel free to make improvements to the script on your own!
Surround SCM has an SDK. I used this to bring a repository from CVS to Surround. Years later, one team was looking at moving to SVN and asked if I could migrate the repository. I came up with a solution, which consisted of walking the Surround repository and creating an intermediate in-memory database, and then processing it. To ensure dates were right, I would reset the clock on the computer. Before I could fully implment the solution, we decided to keep a floating license for that team for when they needed to look at history and planned on them rethinking the entire organization of their projects. (As an FYI, two years on and that team is still using Surround.)
In this kind of scenario, a script can be written, but not for getting all the history.
I would recommend only importing:
However, migrating to Git requires also a work in order to identify modules or applications within your centralized Surround repository.
Trying to import all those data into one Git repository would be a mistake, unless it is one giant system which can not be developed in parts independently one from another (like the Linux kernel).
See: