Last year we moved our current development repository from Visual Source Safe to Subversion. At a previous .Net Architecture Chat we talked about this process.
So here is the python script and DOS .bat file used to do our conversion.
This conversion only extracts the history for the current live tree. This is useful when you want to change going forward, but don’t need the complexity (and problems) or trying to move your complete history. You can add sub-path exclusions, and it may take a few iterations to get the result you want. ie Identify the dead code paths, and not included them in your new code tree.
I have been using these scripts the last few days to convert another teams repository. Their VSS repository was large (>1Mloc) and the Python run-time was crashing so I had to reduced the size of the repository been moved in one go. I decided to separate out the Libraries sub-directory, as this was large, but the changes do not really need to be in the same atomic check-ins as the main code base. Running the script over the weekend resulted in success (all be it a 10 ½ hour success).
You can merge many dump files into the same repository using svnadmin, so this can consolidate your repositories if they are fragmented like ours were.