我的OpsHub代码和工作项迁移已在70%完成时停止并显示错误:
OH-SCM-002:内部标识为9030的实体,来自XXX__TFS_Source_1416167909383_ALM_TFS_14161679093851416167909415的全局标识10819尚未同步到目标系统。请同步实体或删除实体映射以继续同步过程。
我意识到造成这种情况的原因可能是因为工作项9030与变更集相关联,其中有两个不同项目的文件(这是开发人员部分的错误)。 换句话说,变更集18909(错误消息中未提及,但在OpsHub迁移实用程序中提到“版本控制失败”),其中的文件 $ / Proj1 / FILEA $ / Proj2 / FILEB 被修改,与工作项9030相关联。$ / Proj1已被映射为迁移的一部分,$ / Proj2尚未映射。
到目前为止,此次迁移需要11天才能达到这一点(70%已完成),因此我根本不想删除此迁移,并根据此类似问题的建议重新开始:OpsHub errors OH-SCM-003 and OH-SCM-002 - Resolution description is unclear
我的问题是:
a)我已经删除了工作项9030和变更集18909之间的关联,但仍然发生错误。这是预期的吗?
b)我有办法强制OpsHub迁移实用程序忽略此变更集吗?我不需要迁移$ / Proj2中的代码,也不需要迁移工作项9030。如果完全跳过这个变更集,那将是可以接受的。
答案 0 :(得分:0)
从OpsHub更新:此问题已得到修复。因此,在较新版本的OpsHub中,如果只选择涉及的项目的子集进行迁移,则跨项目的WorkItem链接不会失败。
逐一回答您的问题
a)删除本地TFS中的链接现在不会有任何区别。 OpsHub迁移实用程序已经检索了与该changeset-workitem关联有关的信息。它(该信息)正在OpsHub中保存。因此,现在更改源代码中的任何内容都无关紧要。
b)不幸的是没有。虽然您的变更集包含跨项目的提交。并且只选择那些选择性的那些进行迁移。将跳过位于其他项目中的文件。但工作项目不是。
您可以像链接的线程中的人一样执行解决方法。如果不是麻烦。 - 暂停当前的迁移。 - 创建新迁移并选择仅迁移Project2的工作项 - 一旦完成。恢复当前的迁移。它将起作用,因为现在该实用程序将在VSO中找到预期的WIT以进行链接。 - (如果不需要,可以删除第一个项目迁移后的第二个项目)