-
Notifications
You must be signed in to change notification settings - Fork 9
NOTE: This wiki page was converted from the [Google Code Repo Wiki] (https://code.google.com/p/vss2svn/wiki/Welcome). Some formatting may not have survived, and some links may be broken. See the README page for more info.
This is an old answer from the old project page with some editorial changes:
vss2svn is a Perl script to migrate revision history from a Microsoft Visual SourceSafe (VSS) database to the [version control system. It will migrate all ''as much history as possible with the command-line client including'' revision history, including comments, author names, and optionally revision dates (migrating dates uses a not-officially-supported feature of Subversion and can only be done if you are migrating to a brand-new Subversion repository).
Versions prior to 0.10 simply got the history that the command line client said was available for a particular VSS project. Unfortunately, that picture of the world left out files that used to be in a project, but are currently not in the project.
Version 0.10 reads the VSS database directly and is able to retrieve more history than the command line (or VSS API) is able to provide.
It depends on what your requirements are. If you can wait for 0.10, you should do so. If you want an easy, quick import you should use http://vss2svn.tigris.org/servlets/ProjectDocumentList?folderID=2802&expandFolder=2802&folderID=0 0.3.3, especially the executable, which '''does not require''' ActiveState Perl to be installed. The execIf you want a more complete import with more fixed bugs, you should be using the legacy version from the trunk of the source code. This '''requires''' that you install Perl, the command-line client and Perl bindings.
If you found a bug in the latest trunk (in the "script" folder), please discuss it on the mailing list. We are happy to accept fixes from contributors, but in order to keep the noise level of the issue tracker to a minimum, only full committers may create or modify tickets.
Current files are available at tigris.org.
Of course the repository is also available.
You can subscribe to the users list at [You can also find more through the http://gmane.org/ gmane.org mailing list archive archive.
For those who wished to escape from VSS to Subversion. There's a few reasons why people would want to do so:
stability:: VSS is notorious for data loss/corruption and other strange behavior.
cross-platform:: VSS is supported only on Windows. Subversion is supported on many platforms, including Windows.
networking:: VSS is notoriously slow when accesing the database over a network connection. Subversion was designed to be very flexible with regards to how the repository is accessed, especially over the network.
open source:: VSS is not open source, unlike Subversion.
binary files:: Subversion is designed to handle binary files.
No this is currently not supported. But there are workarounds for this:
- Make a copy of your VSS database and destroy all other projects from this copy. Make sure, that you destroy the projects in your local copy and not in the original database.
- Archive your specific project using SSADMIN and restore it in an otherwise empty new database
- use svndumpfilter while loading the converted archive to filter specific projects
No, but you can use the svndumpfilter while loading the archive.
I am using an encoding other than Windows-1252 and my filenames or commit logs are now garbled. How do I fix this?
Please see VssEncodingIssues for more information.
Please see AutomatedWorkflow for more information.
Please see ErrorMessages for more information.