【问题标题】:Migrating TFS 2010 to Visual Studio Online将 TFS 2010 迁移到 Visual Studio Online
【发布时间】:2015-01-13 16:32:23
【问题描述】:

我已经安装了 OpsHub VSO Migration Utilty,我正在尝试迁移我们最小的项目之一作为测试。

在 VSO 中创建了新的匹配项目后,迁移验证因模板不匹配而失败。

现有的 TFS 2010 项目基于 MSF for Agile Software Development v5.0 模板,新的 VSO 项目是 MSF for Agile Software Development 2013.3

据我所知,这些模板都没有定制过。

对于每个工作项类型,不匹配的字段是:

  • 相关链接计数
  • 区域 ID
  • 附加文件计数
  • 超链接计数
  • 外部链接计数
  • 迭代ID

该实用程序的安装版本是 v1.1.0.005

如有任何帮助,我们将不胜感激。

【问题讨论】:

  • 这听起来不对,因为无论如何这些都不是您可以自定义的字段。 OpsHub 团队需要深入研究这一点。
  • Ed,我建议 OpsHub 工具不排除流程模板匹配中的那些字段,我们看到常见的“IterationID”/“Iteration ID”字段不匹配,如果服务器曾经是 2005 年 /2008 年。
  • MrHinsh - 有趣的评论。 TFS 2010 服务器最初是升级后的 TFS 2008 服务器。有问题的项目比那个更新,并且使用了更新的模板,但它仍然会影响这个吗?
  • 是的,就是这样。在 TFS 2005/2008 和 TFS 2010 之间,流程模板已更新,在字段的显示名称中添加了一个空格。

标签: azure-devops opshub


【解决方案1】:

在 TFS 2005/2008 到 TFS 2010 之间,流程模板已更新,在您提到的每个字段的显示名称中添加了一个额外的空格。既然是这种情况,您可以采取一些简单的步骤来解决问题,然后重新运行 OpsHub Visual Studio 在线迁移实用程序。

您需要使用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"

试一试,我希望它对你有用!

【讨论】:

    【解决方案2】:

    很遗憾,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 往往不受欢迎。

    查看migration guidance from the ALM Rangers

    【讨论】:

    • 我也已向 OpsHub 团队报告。
    【解决方案3】:

    因为这正是我们的场景(TFS2008 > TFS2010 > VSO),并且在使用 OVSMU 将工作项从 TFS2010 迁移到 VSO 期间我们也遇到了错误,所以我愿意尝试 Ed 描述的解决方法。 为了更方便,我不是从命令行尝试,而是从菜单工具中使用 Visual Studio 2012:流程编辑器:工作项类型:从服务器打开 WIT。 第一次尝试是工作项类型任务。更改所有相关名称后,有人问我是否要保存对项目的更改。按是后我得到了消息窗口:

    "Microsoft Visual Studio:工作项类型:任务 TF26177: 字段 System.IterationId 无法从“IterationID”重命名为“Iteration ID”。 存在验证错误。继续保存可能会导致文件无法加载,要继续吗?"

    您对我有什么额外的建议可以让我迁移工作项吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      相关资源
      最近更新 更多