tfs - 从 TFS 迁移到 AzureDevOps

标签 tfs azure-devops migrate tfvc tfs-process-template

我们计划将一个大型团队项目从 TFS 迁移到 Azure DevOps。 TFS 存储库是经典的 TFVC,工作项模板是自定义的 CMMI 模板。要求是将源代码存储库转换为带有历史记录的 git,并在迁移时将自定义的 CMMI 模板转换为 Scrum 工作项。我们还被问及保持源代码和工作项之间关系的可能性。
我读了很多文章和博客。 tfsmigrator、git-tfs、vsts-wi-migrator 等工具和选项很少。
但我不明白这个要求是可行的。微软甚至做了一个干净的开始,并将其作为首选。
我需要 azure devops 社区的评论/案例故事。

最佳答案

理论上,很多都是可能的,但实际上,我认识的世界上只有少数人可以执行您提议的迁移。 Martin Hinshelwood 和 David Corbin 似乎专门研究这些类型的问题。我有相当多的经验,但我似乎总是能够将我从您的一些关键要求中剔除,因为它们需要大量工作,可能很昂贵,而且几乎不可能 100% 实现。

如果我必须这样做,我会尝试与您讨论您的一些要求。我会尝试说服您采取以下路径:

  • 设置一个 TFS 服务器的克隆来测试这个过程几次。
  • 在您当前的 TFS 上使用类似 witmorph 的工具将您的 CMMI 模板转换为就地 scrum。这已经是相当多的工作,因为没有明确的一对一路径。现在 TFS 允许就地工作项类型更改,您可能需要更新 Witmorph 以利用这些功能。
  • 然后在接触源之前直接迁移到 Azure DevOps。
  • 更新您的 TFVC checkin 注释以包含关联的工作项 ID。您可以使用 similar script to this遍历所有评论并使用 #1234 更新它们工作项 ID。
  • 然后使用“Import from TFVC”将最近 6 个月从 TFVC 导入 Git。
  • 保留旧的 TFVC 存储库并使其只读。

  • 这样你就可以保留你的历史。完全保真迁移是不可能的(TFVC 只是不是 Git,有些东西不会转换)。如果您觉得这很重要,您也可以在 Git 中获得合理数量的历史记录。您的工作项将保持与 TFVC 的链接,因为您已经对它们进行了原地变形,它们的 ID 不会改变,也不需要重新链接。鉴于您已更新 checkin 描述,提交也应自动关联到您现有的工作项。

    构建、测试结果、发布等其他内容也将以这种方式干净利落地迁移,最终您将非常接近目标解决方案的外观。

    关于tfs - 从 TFS 迁移到 AzureDevOps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54128212/

    相关文章:

    tfs - 在 TFS 中合并提交

    git - 尝试推送到 Azure Devops 时出现错误 "unable to parse remote unpack status"

    ios - 如何最好地将巨大的 .sqlite 数据库移动到旧的低内存 iOS 设备上的新目录?

    Django:迁移表 'forum_user'已存在

    Angular 5 -> Angular 6 Rxjs .map() 到 .pipe(map())

    TFS Rest API 获取集合中的所有项目显示较少

    asp.net - 如何使用版本控制使编译的代码库在多个网站上保持最新?

    visual-studio - 如何清除 Visual Studio 工作区

    azure - 以原子方式将设置推送到 azure 应用程序配置

    Azure 门户 : Application Insights - How to Identify Requestor's IP Address