Question

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

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

Thanks.

Was it helpful?

Solution

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. :)

OTHER TIPS

My experiences: We migrated from TFS2005 to TFS2008 and then to TFS2010. As far as I remember, there were issues during migrating to TFS 2008. We used migration tool to migrate all changeset from TFS2005 to TFS2008 database (per changeset)(to save history changes). It was really slow process. It was not possible to do it in one day window, so we decided to move whole repository to the new TFS DB (to not block developers to make check-in their code changes). We lost all history changes, but we were migrated :) and developers were not blocked. It was not my responsibility. I did not make this decision. We used some tool from codeplex for it. Maybe this one (I don't remember now sorry). Migrating from TFS2008 to FTS2010 is no problem at all because you can use the sam DB for TFS2010 and your history changes should be untouched.

I know this is not an answer for your question, but it may be helpful for someone to not do it this way :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top