locked
VSS 2005 => TFS 2010 History Not Migrated. RRS feed

  • Question

  • Hi All,

    I'm trying to convert a small project from VSS 2005 to TFS 2010 and all works well except all history is not converted. I'm following the walkthrough from http://msdn.microsoft.com/en-us/library/ms253060.aspx (Migrate from Visual SourceSafe - Visual Studio 2010) very closely.

    I backup one small project from a huge VSS database to my local machine, prepare the settings.xml file, run VSSConverter in analysis and then in migration modes and the code ends up in TFS, the projects structure is correct, just the history is not there.

    After conversion, I have a number of errors in the VSSConverter.log file which look like this:

    [VSS,             Error,     3, 2012/01/04 14:48:02.159] Exception: System.Runtime.InteropServices.COMException
    	Message: File or project not found
    	Stack Trace:    at Microsoft.VisualStudio.SourceSafe.Interop.IVSSItem.get_Versions(Int32 iFlags)
       at Microsoft.TeamFoundation.Converters.VersionControl.Vss.VssWrapper.ReadHistoryItemNoRecursive(ItemInfo itemInfo, Int32 flags, String spec, String name, Boolean type, Boolean deleted, Boolean isPinned, Int32 pinnedVersion, Boolean writeToDB)
       at Microsoft.TeamFoundation.Converters.VersionControl.Vss.VssWrapper.PutInfoInDB(ItemInfo itemInfo, Boolean isMigrate)
    	Help Link: ssusexp.hlp#10609
    	BaseExceptionMessage: File or project not found
    
    [VSS,             Error,     3, 2012/01/04 14:48:02.159] Exception: System.Runtime.InteropServices.COMException
    	Message: File or project not found
    	Stack Trace:    at Microsoft.VisualStudio.SourceSafe.Interop.IVSSItem.get_Versions(Int32 iFlags)
       at Microsoft.TeamFoundation.Converters.VersionControl.Vss.VssWrapper.ReadHistoryItemNoRecursive(ItemInfo itemInfo, Int32 flags, String spec, String name, Boolean type, Boolean deleted, Boolean isPinned, Int32 pinnedVersion, Boolean writeToDB)
       at Microsoft.TeamFoundation.Converters.VersionControl.Vss.VssWrapper.PutInfoInDB(ItemInfo itemInfo, Boolean isMigrate)
    	Help Link: ssusexp.hlp#10609
    	BaseExceptionMessage: File or project not found
    

    I tried to search for more info on these errors but there's not much information.

    Please let me know if these are known issues or if you'd like me to provide additional information?

    Regards,

    Evgeny.

    Wednesday, January 4, 2012 4:31 AM

Answers

  • I think I found out what I was doing wrong and can now reproduce the behaviour.
    My original VSS database has the following structure
    $/
    ___+Folder1
    _______+Project11
    _______+Project11
    ...........
    _______+Project1n
    ___+Folder2
    _______+Project21
    ...........
    _______+Project2n

    and so on. If I backed up and restored Project11 to an empty VSS db I hade the following:
    $/
    ___+Folder1
    ______+Project11

    Now, when I placed 
     <Project Source="$/Folder1" Destination="$/Project11"></Project>
    into my settings.xml, I was losing history, even though all code was converted properly.
    When I changed that to  
     <Project Source="$/Folder1/Project11" Destination="$/Project11"></Project>
    all history gets converted.
    Maybe that helps someone. :)
    Regards,
    Evgeny

    • Edited by Evgeny_R Monday, January 9, 2012 4:47 AM
    • Marked as answer by Evgeny_R Monday, January 9, 2012 4:48 AM
    Monday, January 9, 2012 4:47 AM

All replies

  • Hello Evgeny,

    When you do the migration, do you have the truncate history of items process? You can refer to the Truncate the history of items part of the article you offered above.

    Thanks.


    Vicky Song [MSFT]
    MSDN Community Support | Feedback to us
    Thursday, January 5, 2012 3:32 AM
    Moderator
  • Thanks Vicky,

    I do not truncate the history.

    I think I may be using a wrong parameter in a backup/restore of my database.

    I have a huge (~4GB) VSS database from which I'm trying to convert a single project, or one at a time.

    When I backup a project/restore to a new VSS 2005 database and migrate a new database, I lose history

    When I create a project straight in a new VSS 2005 database and convert it to TFS, I do not lose history.

    I use the following syntax to backup the "MyTestProject" from the huge "VSSDB" database

    ssarc -d- -i -yadmin,password -s\\Server\VSS\database\VSSDB CodeProject.ssa "$/MyRootProject/MyTestProject"

    And to restore into an empty VSS 2005 database

    ssrestor "-p$/MyRootProject/MyTestProject" -sD:\MyTransferFolder -yadmin,password CodeProject.ssa "$/MyRootProject/MyTestProject"

    After that, I can see the history being restored into the VSS database, but not being converted to TFS...

     

    Regards,

    Evgeny.

    Monday, January 9, 2012 1:13 AM
  • I think I found out what I was doing wrong and can now reproduce the behaviour.
    My original VSS database has the following structure
    $/
    ___+Folder1
    _______+Project11
    _______+Project11
    ...........
    _______+Project1n
    ___+Folder2
    _______+Project21
    ...........
    _______+Project2n

    and so on. If I backed up and restored Project11 to an empty VSS db I hade the following:
    $/
    ___+Folder1
    ______+Project11

    Now, when I placed 
     <Project Source="$/Folder1" Destination="$/Project11"></Project>
    into my settings.xml, I was losing history, even though all code was converted properly.
    When I changed that to  
     <Project Source="$/Folder1/Project11" Destination="$/Project11"></Project>
    all history gets converted.
    Maybe that helps someone. :)
    Regards,
    Evgeny

    • Edited by Evgeny_R Monday, January 9, 2012 4:47 AM
    • Marked as answer by Evgeny_R Monday, January 9, 2012 4:48 AM
    Monday, January 9, 2012 4:47 AM