迁移TFS 2010至Visual Studio Online

3
我已安装OpsHub VSO迁移工具,正在尝试将我们最小的一个项目作为测试进行迁移。
在VSO中创建了一个新的匹配项目后,迁移验证失败,因为模板不匹配。
现有的TFS 2010项目基于MSF for Agile Software Development v5.0模板,而新的VSO项目是MSF for Agile Software Development 2013.3。
据我所知,这些模板都没有被定制。
对于每个工作项类型,不匹配的字段如下:
- RelatedLinkCount - AreaID - AttachedFileCount - HyperLinkCount - ExternalLinkCount - IterationID
工具的已安装版本为v1.1.0.005。
如果有任何帮助,将不胜感激。

这听起来不太对,因为那些根本就不是你可以自定义的字段。OpsHub团队需要深入研究一下这个问题。 - Ed Blankenship
Ed,我建议OpsHub工具在流程模板匹配时没有排除那些字段,我们看到了常见的“IterationID” / “Iteration ID”字段不匹配,如果服务器曾经是2005/2008,就会出现这种情况。 - MrHinsh - Martin Hinshelwood
MrHinsh - 有趣的评论。TFS 2010 服务器最初是一个 TFS 2008 服务器升级而来的。所讨论的项目比这个更新,使用了较新的模板,但这是否仍会影响它呢? - Nick
没错,就是这样。在TFS 2005/2008和TFS 2010之间,流程模板已更新以在字段的显示名称中添加一个空格。 - Ed Blankenship
3个回答

6

TFS 2005/2008和TFS 2010之间,过程模板已更新,以添加每个提到字段的显示名称中的额外空格。因此,您可以采用一些简单的步骤进行解决,并重新运行OpsHub Visual Studio Online Migration Utility。

您需要使用witadmin.exe工具,具体使用changefield选项。以下是更改每个字段的显示名称以包含空格的步骤:

witadmin.exe changefield /collection:http://tfs.contoso.local:8080/tfs/DefaultCollection /n:System.RelatedLinkCount /name:"Related Link Count"
witadmin.exe changefield /collection:http://tfs.contoso.local:8080/tfs/DefaultCollection /n:System.AreaId /name:"Area ID"
witadmin.exe changefield /collection:http://tfs.contoso.local:8080/tfs/DefaultCollection /n:System.AttachedFileCount /name:"Attached File Count"
witadmin.exe changefield /collection:http://tfs.contoso.local:8080/tfs/DefaultCollection /n:System.HyperLinkCount /name:"Hyperlink Count"
witadmin.exe changefield /collection:http://tfs.contoso.local:8080/tfs/DefaultCollection /n:System.ExternalLinkCount /name:"External Link Count"
witadmin.exe changefield /collection:http://tfs.contoso.local:8080/tfs/DefaultCollection /n:System.IterationId /name:"Iteration ID"

试一下这些方法,希望它们能作为解决方法对你有用!


1

OpsHub需要修复此问题,或者您可以使用其他工具。

当您尝试进行迁移时,OpsHub工具会比较两个项目之间的流程模板,如果它们不相同,则会出现问题。在您的情况下,您的2010服务器曾经是2005或2008。在2010年之前的TFS版本中,冲突的字段没有空格,而从2010年开始有了...因此不匹配。

还有其他不那么严格的方法可以进行迁移,但它们要复杂得多。

  1. TFS集成工具 - 这个工具是免费的,由Microsoft支持,但非常复杂。它是为与企业合作移动TFS数据的顾问而建立的。不好玩,但可以让它起作用。
  2. Excel迁移 - 您可以使用Excel仅移动工作项和移动TFVC源的提示。或者转移到VSO中的Git,并使用Git-TFS移动具有源历史记录的内容。
  3. 雇佣某人(承认/ALM顾问谈话)-大多数ALM MVP都是顾问,拥有移动您的东西的工具。

我建议#1和#3在一天结束时具有类似的成本,而#2往往不受欢迎。

请查看 ALM Rangers 提供的迁移指南

1
我也向OpsHub团队报告了此事。 - Ed Blankenship

0
因为这正是我们的情况(TFS2008 > TFS2010 > VSO),并且在使用OVSMU从TFS2010迁移工作项到VSO期间,我们也遇到了错误。我想尝试Ed描述的解决方法。
为了更方便,我尝试使用Visual Studio 2012菜单中的“工具”:流程编辑器:工作项类型:从服务器打开WIT,而不是使用命令行。第一次尝试是工作项类型任务。在更改所有相关名称后,我被问及是否要保存对该项的更改。按下“是”后,我收到了消息窗口:
“Microsoft Visual Studio: Work Item Type: Task TF26177: The field System.IterationId cannot be renamed from 'IterationID' to 'Iteration ID'. There were validation errors. Continuing to save may cause the file to become unloadable, do you want to continue?”
您有什么额外的建议可以帮助我将所有内容都搞定,以便我可以迁移工作项吗?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接