我们计划将一个大型团队项目从TFS迁移到Azure DevOps。 TFS存储库是经典的TFVC,而工作项模板是自定义的CMMI模板。要求是在迁移时将源代码存储库转换为具有历史记录的git,并将自定义的CMMI模板转换为Scrum工作项。我们也被问到保持源代码和工作项之间关系的可能性。 我读了很多文章和博客。很少有工具和选项,例如tfsmigrator,git-tfs和vsts-wi-migrator。 但是我不明白这个要求是可行的。微软甚至有了一个干净的开始,并将其作为首选。 我需要有关天蓝色devops社区的评论/案例。
答案 0 :(得分:4)
从理论上讲,有很多可能,但实际上,我认识的世界上只有少数人可以执行您建议的迁移。 Martin Hinshelwood和David Corbin似乎专门研究这些类型的问题。我有很多经验,但是我似乎总是能够从您的一些关键要求中烦恼我,因为这些工作量很大,可能很昂贵,几乎不可能100%地实现。
如果必须这样做,我会尝试使您脱离一些要求。我会说服您采取以下路径:
#1234
工作项ID更新它们。这样您就可以保留历史记录。完全保真迁移是不可能的(TFVC并不是Git,并且某些事情不会转变)。如果您认为这很重要,那么您也可以在Git中获得相当多的历史记录。您的工作项将保持与TFVC的链接,因为您已将它们变形就位,其ID不会更改,并且不需要重新链接。既然您已经更新了签入说明,则提交也应该自动关联到您现有的工作项。
诸如构建,测试结果,发行版之类的其他内容也将以这种方式彻底迁移,最终您将接近目标解决方案的外观。
答案 1 :(得分:2)
[杰西-谢谢您的客气话]
是的,我做了很多与TFS相关的升级,其中许多是向Azure DevOps的高保真迁移。
正如Jesse指出的那样,TFVC不是Git,并且在概念上存在根本差异。我坚信,两者都有其优点(和局限性),而不是认为一个普遍优于另一个。
谈到历史,准确地将其中一个捕获的内容准确地表示为另一个是不切实际的。通常最好将历史记录保留在原始VCS中,并设置一个干净的环境以在新的VCS中前进。
请随时直接与我联系:david.corbin@dynconcepts.com