我正在尝试将一个小项目从VSS 2005转换到TFS 2010,所有的工作都很好,除了所有的历史记录都没有转换。我非常关注从http://msdn.microsoft.com/en-us/library/ms253060.aspx (从Visual SourceSafe - Visual Studio2010迁移)的演练。
我从一个巨大的VSS数据库中备份了一个小项目到我的本地机器上,准备了settings.xml文件,在分析中运行VSSConverter,然后在迁移模式下运行TFS,代码最终在TFS中结束,项目结构是正确的,只是历史记录不在那里。
转换后,我在VSSConverter.log文件中有许多错误,如下所示:
[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我试图搜索有关这些错误的更多信息,但没有太多信息。有没有人见过这些错误?
谢谢。
发布于 2012-01-10 12:19:00
我想我发现了我做错了什么,现在可以重现这种行为了。我的原始VSS数据库具有以下结构
$/
___+Folder1
_______+Project11
_______+Project11
...........
_______+Project1n
___+Folder2
_______+Project21
...........
_______+Project2n诸若此类。如果我备份Project11并将其恢复到一个空的VSS数据库,我将具有以下内容:
$/
___+Folder1
______+Project11现在,当我把
<Project Source="$/Folder1" Destination="$/Project11"></Project>在我的settings.xml中,我正在丢失历史,即使所有的代码都被正确转换了。当我把它改成
<Project Source="$/Folder1/Project11" Destination="$/Project11"></Project>所有历史记录都会被转换。也许这对某些人有帮助。:)
发布于 2012-01-06 05:52:37
我的经验是:我们从TFS2005迁移到TFS2008,然后迁移到TFS2010。据我所知,在迁移到TFS2008的过程中出现了一些问题。我们使用迁移工具将所有变更集从TFS2005迁移到TFS2008数据库(每个变更集)(以保存历史更改)。这是一个非常缓慢的过程。这不可能在一天的时间内完成,所以我们决定将整个存储库移动到新的TFS DB (不阻止开发人员签入他们的代码更改)。我们丢失了所有的历史更改,但我们被迁移了:),开发人员没有被阻止。这不是我的责任。这个决定不是我做的。我们使用了codeplex的一些工具。也许是this one (我现在不记得了,对不起)。从TFS2008迁移到FTS2010完全没有问题,因为您可以使用用于TFS2010的sam,并且您的历史记录更改应该不会受到影响。
我知道这不是你的问题的答案,但如果有人不这样做可能会有帮助:)
https://stackoverflow.com/questions/8736063
复制相似问题