0

当我在 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 是相同的,因为目标项目是克隆源项目集合的结果。

4

1 回答 1

0

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

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

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

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

于 2020-07-13T22:13:31.060 回答