Is there a way to migrate SourceSafe with HISTORY into a SVN ?
Ideally I'd like to use VisualSVN Server, but I don't really want to lose my SourceSafe history. If I have to I will though.
Is there a way to migrate SourceSafe with HISTORY into a SVN ?
Ideally I'd like to use VisualSVN Server, but I don't really want to lose my SourceSafe history. If I have to I will though.
A long time ago (it seems) I tried to migrate a SourceSafe DB to subversion using vss2svn, but finally gave up. There were several problems, IIRC:
So finally we decided to keep the SourceSafe DB intact (read-only) and just migrate the current version into subversion. So far, there were very few occasions where we had to go back to SourceSafe to check something.
Hope this helps.
BTW: it does not matter whether you use VisualSVN Server or subversion directly (svnserver). The repository format is the same in both cases.
I successfully managed to migrate the several source safe repositories into SVN using vss2svn script. My suggestions are, do it in small chunks - we had a lot of little projects and a couple of medium side projects, which all managed to be moved successfully to SVN.
I had a couple of problems:
Yes, use the VSS2SVN project on Codeplex. I've updated it so it maintains history, comments, author and date properties when migrating to SVN. Takes a bit longer, but I don;t think that matters as its not something you do everyday.
It also has an option to update the repository with files from VSS past a certain date, so you can update an initial dump later on.
We used Polarion SVN Importer to migrate VSS to SVN with full history.
At my company I tried repeatedly to migrate a (big) SourceSafe repository to Subversion with vss2svn. I even caused a small contribution regarding codepage support (we had filenames in Greek). If I remember correctly (this happened last spring; i.e. of 2009), our main problem (the one that made us finally dismiss migration) was that permanently deleted files that were cross-linked/moved between wanted and unwanted parts of the repository were blocking the migration.
My suggestion: If you can't do it in a fully Analyzed repository, don't waste more time. Just draw a line and start with a new subversion repository.
Note: Permanently deleting a file in SourceSafe makes the file totally unrecoverable, which is something entirely incompatible with CVS/SVN-type source control systems (and, I suppose, other source control systems as well).
I successfully converted our nasty VSS database including history. I blog about the experience here. The conversion highlight is:
"All of the conversion tools also required the source VSS database be clean of corruption before the conversion. This turned out to be much harder and time consuming than you might think. Running the VSS Analyze tool on a copy of the database showed hundreds of corruptions and would not run to completion without blue screening the computer it was running on.
To get around this we reduced the copy database by deleting the directories that we didn’t want to convert. Unfortunately VSS will report each corruptions during the deleting process causing hundreds of message boxes that the user must mindlessly click for the process to continue.
Once that point was reached, we used the tool VSS2SVN to create dump files that were imported into Subversion."
Dear gbjbaanb! You are absolutely right But i have tried this Tool >> " VSS2SVN project on Codeplex"
But all in vein::
Reason!! It has three parts::
Start over
Find files in source code works fine But when i starts " Migrate to Subversion " It converts all VSS database to Subversion :: " ONLY " ::
A pop up screen opens with Bundle of errors:::
Error while migrating project to subversion Sharpsvn.svnrepositoryIOException: Server sent unexpected return value (405 method not allowed) in response to MKCOL request for '/svn/path/to/svn/repository/wrk/7797ff21 -...../SVN/Path/where/files/to/be/migrated" at sharpsvn:svnclientargs.handleresult(SVNClientContext.client,svn_error_t*error) at sharpsvn:svnclientargs.handleresult(SVNClientContext.client,svnexception error) . . . . I can email you the screenshort as well.
please suggest accordingly.
Thanks in advance Regards Waseem Bokhari Software Engineer