azarkevich/VssSvnConverter

Problems with VSS SVN Converter launching

mmm-it opened this issue · 0 comments

Hello,

I just found your VSS Converter and wanted to convert a VSS to Git but failing in the beginning allready - probably I didn't understand something, maybe you can help me get it run and convert my VSS to Git with all the history of the last 14 years of development of different little applications.

First of all - is this possible with your tool, knowing I used Visual SourceSafe 2005 up to VS2019.
Now switching to VS2022 my good old VSS is no more supported Maybe you can help me get the switch done to Git ?

When starting the VssSvnConverter I get the following error:

Exception thrown: 'System.Runtime.InteropServices.COMException' in mscorlib.dll
An exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll but was not handled in user code
La récupération de la fabrique de classes COM pour le composant avec le CLSID {783CD4E4-9D54-11CF-B8EE-00608CC9A71F} a échoué en raison de l'erreur suivante : 80040154 Classe non enregistrée (Exception de HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG)).

Eventhough the CLSID is in the registry existing:
Ordinateur\HKEY_CLASSES_ROOT\SourceSafe.8.0\CLSID (par défaut) REG_SZ {783CD4E4-9D54-11CF-B8EE-00608CC9A71F}

when pressing Build List in the simple UI The error appears on the call of line 266 in Options.cs Read Config:
DB = new Lazy(() => {
Console.WriteLine("Initialize VSS driver....");
var db = new VSSDatabase();
db.Open(SourceSafeIni, SourceSafeUser, SourceSafePassword);
Console.WriteLine("VSS driver initialized");
return db;
});

The variables SourceSafeIni, SourceSafeUser and SourceSafePassword contain the correct informations (Complete path including srcafe.ini in the end, correct user name and correct Password)


Update for other users which may have the same problem I had:

Here the solutions I found:

  1. When debugging the code I found first of all that the conf file must be the one from the debug path when starting in debug mode.
  2. the VssVersionsBuilder.cs contains a Regex verification containing "User:" which I had to change to "Author:" to get it finally up and running correctly. Now It did a nice Job.
  3. I had to install TortoiseGit additionally (the Git inside VS2022 didn't work for the conversations....
  4. I had to create an D:\email.txt with admin=admin inside otherwise the program crashed. This filename had to be added in conf file for authors=d:.\email.txt in the import section

Thanks to Azarkevich for this tool. It did a good job on my VSS database to convert it to Git.


Best regards

Martin