【问题标题】:During migration commit links are "Fixed", "Removed" but not "Added"在迁移提交链接是“固定”,“删除”但不是“添加”
【发布时间】:2020-07-14 06:13:31
【问题描述】:

当我在 azure-devops-migration-tools 中运行迁移时,有修复、删除提交链接,但没有添加。

因此,提交链接不会被迁移。 然而,它不会在每个项目中重现 - 在大多数项目中,这工作正常并且提交也会被添加。例如:

我的 WorkItemMigrationConfig:

 {
      "ObjectType": "VstsSyncMigrator.Engine.Configuration.Processing.WorkItemMigrationConfig",
      "ReplayRevisions": true,
      "PrefixProjectToNodes": false,
      "UpdateCreatedDate": true,
      "UpdateCreatedBy": true,
      "UpdateSourceReflectedId": false,
      "BuildFieldTable": false,
      "AppendMigrationToolSignatureFooter": false,
      "QueryBit": "AND [System.ID] = 41128",
      "OrderBit": "[System.ChangedDate] desc",
      "Enabled": true,
      "LinkMigration": true,
      "AttachmentMigration": true,
      "AttachmentWorkingPath": "c:\\temp\\WorkItemAttachmentWorkingFolder\\",
      "FixHtmlAttachmentLinks": false,
      "SkipToFinalRevisedWorkItemType": false,
      "WorkItemCreateRetryLimit": 5,
      "FilterWorkItemsThatAlreadyExistInTarget": true,
      "PauseAfterEachWorkItem": false,
      "AttachmentMazSize": 480000000,
      "CollapseRevisions": false
    }

我怀疑这可能是特定于项目的,但目前我不知道是什么导致了这个问题。这可能是什么原因?

//编辑

在对该工具的源代码进行一些研究后,我发现只有在提交链接 URI 不同时才会添加提交链接 (https://github.com/nkdAgility/azure-devops-migration-tools/blob/9ef6ee4fd863de30d8a2179450bc86cb5cfafeb5/src/VstsSyncMigrator.Core/Execution/OMatics/RepoOMatic.cs#L137) 在我的情况下,这些链接是相同的,因为 TFS / AzureDevops 项目 ID 相同,因为目标项目是克隆源项目集合的结果。

【问题讨论】:

    标签: azure-devops-migration-tools vsts-sync-migrator


    【解决方案1】:

    为了使它工作,Git 存储库必须首先在目标中!如果您更改了 Git 存储库的名称,则必须将其添加到映射中。

    FixGitCommitLinks - 允许您修复迁移的 Git 提交挂钩(以及 因此外部链接)指向目标中的新存储库 项目。如果源和目标存储库名称相同,则此 开箱即用。如果目标存储库有不同的 名称,您可以通过“TargetRepository”属性指定该名称

    https://nkdagility.github.io/azure-devops-migration-tools/

    这有点过时了,您需要使用类似于 yaml 中的“WorkItemTypeDefinition”元素的“GitRepoMapping”将所有旧名称映射到新名称。同样,仅当您使用与源名称不同的名称时才需要它。

    【讨论】:

    • 您好,感谢您的回复。我的 git 存储库在目标项目中,git 存储库名称相同,除此之外,我的项目 ID 相同,但一个项目在 TFS 中,另一个在 Azure Devops 中。我怀疑这些 id 与我们第一次迁移整个 TFS 集合时相同(不使用 azure-devops-migraiton-tools),现在我只同步工作项。
    • 这是一个从未测试过的场景。它应该只复制已更改的工作项,但这需要已更新 ReflectedWorkItemID。
    • 您将需要下载源代码并更新 ReflectedItemID 逻辑以仅加载具有相同 ID 的工作项。这对于同时迁移和导入集合的项目来说是非常危险的。
    猜你喜欢
    • 2022-11-19
    • 1970-01-01
    • 2015-12-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多