Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: S402625: Dates must be increasing with each revision. #1660

Open
zxjon22 opened this issue Sep 22, 2023 · 40 comments · Fixed by #1975
Open

[Bug]: S402625: Dates must be increasing with each revision. #1660

zxjon22 opened this issue Sep 22, 2023 · 40 comments · Fixed by #1975

Comments

@zxjon22
Copy link

zxjon22 commented Sep 22, 2023

I'm trying to merge several projects into a new, consolidated project

I'm getting the following errors for many work items:

An item with the same key has already been added.
TF237121: Cannot complete the operation. An unexpected error occurred
S402625: Dates must be increasing with each revision.
   ---> System.Web.Services.Protocols.SoapException: VS402625: Dates must be increasing with each revision.

As you can see from the logs, the common factor seems to be the first 2 or more revisions seem to have the same date/time which is kinda interesting.

All of these projects were migrated from Jira using https://github.com/solidify/jira-azuredevops-migrator several months ago.

Looking at the original Jira tickets, it appears you can create them with attachments (i.e. one revision). jira-azuredevops-migrator seems to have split the process of creating the associated WI and attachments over a few revisions, all with the same date/time somehow.

I'm guessing there is some fractional component of the date/time in the DevOps field that is lost when running migration.exe (otherwise I can't figure out how the WIs were created in the first place).

Any ideas how to work around this? I'm happy to take a look at the code if you point me in the right direction.

I've seen #751, but I think this is different.

Thanks.

[19:53:21 DBG] RevisionsToMigrate:----------------------------------------------------
[19:53:21 DBG] RevisionsToMigrate: Index:0 - Number:1 - ChangedDate:01/26/2021 13:27:32
[19:53:21 DBG] RevisionsToMigrate: Index:1 - Number:2 - ChangedDate:01/26/2021 13:27:32
[19:53:21 DBG] RevisionsToMigrate: Index:2 - Number:3 - ChangedDate:01/26/2021 13:27:32
[19:53:21 DBG] RevisionsToMigrate: Index:3 - Number:4 - ChangedDate:01/26/2021 13:27:32
[19:53:21 DBG] RevisionsToMigrate: Index:4 - Number:5 - ChangedDate:01/26/2021 13:29:01
[19:53:21 DBG] RevisionsToMigrate: Index:5 - Number:6 - ChangedDate:01/26/2021 13:29:27
[19:53:21 DBG] RevisionsToMigrate: Index:6 - Number:7 - ChangedDate:01/26/2021 15:14:18
[19:53:21 DBG] RevisionsToMigrate: Index:7 - Number:8 - ChangedDate:01/27/2021 07:14:18
[19:53:21 DBG] RevisionsToMigrate: Index:8 - Number:9 - ChangedDate:07/29/2021 17:49:08
[19:53:21 DBG] RevisionsToMigrate: Index:9 - Number:10 - ChangedDate:07/29/2021 17:53:13
[19:53:21 DBG] RevisionsToMigrate: Index:10 - Number:11 - ChangedDate:07/29/2021 17:55:03
[19:53:21 DBG] RevisionsToMigrate: Index:11 - Number:12 - ChangedDate:02/01/2022 14:57:48
[19:53:21 DBG] RevisionsToMigrate: Index:12 - Number:13 - ChangedDate:04/17/2023 14:55:13
[19:53:21 DBG] RevisionsToMigrate: Index:13 - Number:14 - ChangedDate:04/17/2023 14:56:12
[19:53:21 DBG] RevisionsToMigrate: Index:14 - Number:15 - ChangedDate:04/18/2023 13:20:05
[19:53:21 DBG] RevisionsToMigrate: Index:15 - Number:16 - ChangedDate:04/27/2023 14:59:34
[19:53:21 DBG] RevisionsToMigrate:----------------------------------------------------

HELP NEEDED - We are unable to replicate this! But it does happen!

Can someone with this error please run a specific work item that they find has this issue through the tool and do one of the following:

Option 1: Generate and attach Log - if you are non-technical this is your option. It might provide us with enough info to diagnose, but may only result in more asks.

  1. In the Config file change LogLevel to Debug.
  2. Find a work item ID that has this issue, and craft a query that only selects this work item.
  3. Delete any target copy of that work item.
  4. Then run the migration
  5. Comment here with the full Log attached

Option 2: Debug in Visual Studio - This option is best but requires some developer experience.

  1. Fork the Repo and Clone it to your local computer
  2. Open the Solution in Visual Studio (we use 2022) and do a Full Rebuild
  3. Edit the Launch Profile to point to your config.
    image
  4. Craft the query to only load the work item with the issue
  5. Add the breakpoints detailed above
  6. "Play" the Launch Profile that you created and

Create a comment below with the results of your investigation!

@MrHinsh
Copy link
Member

MrHinsh commented Sep 28, 2023

Hey @MOlausson, can you think of any reason that this might be happening?

@zxjon22
Copy link
Author

zxjon22 commented Sep 28, 2023

Not sure now if there's two things going on here. I've been stepping through migrating a work item that errors.
(Apologies for the large log file)

Interesting how it says Processing Revision [7] and then Replayed revision 8 of 58 (no message re: processing [8] or replayed revision [7]).

The error messages start @ revision 13.

I did look at the dates in the debugger and the order seems okay - the ones that appear identical do advance by about 3ms each time.

[20:58:06 DBG] ValidatingRequiredField: Product Backlog Item contains Custom.ReflectedWorkItemId
[20:58:06 DBG] ######################################################################################
[20:58:06 DBG] ProcessWorkItem: 41750
[20:58:06 DBG] ######################################################################################
[20:58:06 DBG] WorkItemQuery: ===========GetWorkItems=============
[20:58:06 DBG] WorkItemQuery: TeamProjectCollection: https://dev.azure.com/x.y.z/
[20:58:06 DBG] WorkItemQuery: Query: SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject]='JN AB Merged' AND [Custom.ReflectedWorkItemId] = 'https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750'
[20:58:06 DBG] WorkItemQuery: Parameters: {"TeamProject": "JN AB Merged", "idToFind": "https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750"}
[20:58:06 DBG] WorkItemQuery: TeamProject: JN AB Merged
[20:58:06 DBG] WorkItemQuery: idToFind: https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:06 DBG] Query sent
[20:58:06 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Work Item has 58 revisions and revision migration is set to True
[20:58:06 INF] Found 58 revisions to migrate on  Work item:41750
[20:58:06 DBG] RevisionsToMigrate:----------------------------------------------------
[20:58:06 DBG] RevisionsToMigrate: Index:0 - Number:1 - ChangedDate:02/16/2023 21:03:20
[20:58:06 DBG] RevisionsToMigrate: Index:1 - Number:2 - ChangedDate:02/16/2023 21:03:20
[20:58:06 DBG] RevisionsToMigrate: Index:2 - Number:3 - ChangedDate:02/16/2023 21:03:26
[20:58:06 DBG] RevisionsToMigrate: Index:3 - Number:4 - ChangedDate:02/16/2023 21:03:26
[20:58:06 DBG] RevisionsToMigrate: Index:4 - Number:5 - ChangedDate:02/16/2023 21:03:36
[20:58:06 DBG] RevisionsToMigrate: Index:5 - Number:6 - ChangedDate:02/16/2023 21:03:36
[20:58:06 DBG] RevisionsToMigrate: Index:6 - Number:7 - ChangedDate:02/16/2023 21:41:21
[20:58:06 DBG] RevisionsToMigrate: Index:7 - Number:8 - ChangedDate:02/16/2023 21:41:39
[20:58:06 DBG] RevisionsToMigrate: Index:8 - Number:9 - ChangedDate:02/17/2023 13:59:47
[20:58:06 DBG] RevisionsToMigrate: Index:9 - Number:10 - ChangedDate:02/20/2023 14:04:41
[20:58:06 DBG] RevisionsToMigrate: Index:10 - Number:11 - ChangedDate:02/20/2023 14:05:31
[20:58:06 DBG] RevisionsToMigrate: Index:11 - Number:12 - ChangedDate:02/21/2023 13:55:01
[20:58:06 DBG] RevisionsToMigrate: Index:12 - Number:13 - ChangedDate:02/21/2023 13:55:01
[20:58:06 DBG] RevisionsToMigrate: Index:13 - Number:14 - ChangedDate:02/21/2023 13:55:06
[20:58:06 DBG] RevisionsToMigrate: Index:14 - Number:15 - ChangedDate:02/23/2023 20:28:31
[20:58:06 DBG] RevisionsToMigrate: Index:15 - Number:16 - ChangedDate:02/23/2023 20:28:54
[20:58:06 DBG] RevisionsToMigrate: Index:16 - Number:17 - ChangedDate:02/23/2023 21:56:14
[20:58:06 DBG] RevisionsToMigrate: Index:17 - Number:18 - ChangedDate:02/27/2023 10:50:40
[20:58:06 DBG] RevisionsToMigrate: Index:18 - Number:19 - ChangedDate:02/27/2023 10:50:40
[20:58:06 DBG] RevisionsToMigrate: Index:19 - Number:20 - ChangedDate:02/27/2023 10:50:41
[20:58:06 DBG] RevisionsToMigrate: Index:20 - Number:21 - ChangedDate:02/27/2023 10:50:41
[20:58:06 DBG] RevisionsToMigrate: Index:21 - Number:22 - ChangedDate:02/27/2023 10:50:50
[20:58:06 DBG] RevisionsToMigrate: Index:22 - Number:23 - ChangedDate:02/27/2023 10:50:50
[20:58:06 DBG] RevisionsToMigrate: Index:23 - Number:24 - ChangedDate:02/27/2023 10:51:15
[20:58:06 DBG] RevisionsToMigrate: Index:24 - Number:25 - ChangedDate:02/27/2023 10:51:20
[20:58:06 DBG] RevisionsToMigrate: Index:25 - Number:26 - ChangedDate:02/27/2023 10:51:22
[20:58:06 DBG] RevisionsToMigrate: Index:26 - Number:27 - ChangedDate:02/27/2023 10:51:25
[20:58:06 DBG] RevisionsToMigrate: Index:27 - Number:28 - ChangedDate:02/27/2023 10:51:27
[20:58:06 DBG] RevisionsToMigrate: Index:28 - Number:29 - ChangedDate:02/27/2023 10:51:29
[20:58:06 DBG] RevisionsToMigrate: Index:29 - Number:30 - ChangedDate:02/27/2023 13:45:24
[20:58:06 DBG] RevisionsToMigrate: Index:30 - Number:31 - ChangedDate:03/03/2023 14:10:35
[20:58:06 DBG] RevisionsToMigrate: Index:31 - Number:32 - ChangedDate:03/08/2023 08:53:19
[20:58:06 DBG] RevisionsToMigrate: Index:32 - Number:33 - ChangedDate:03/08/2023 08:53:19
[20:58:06 DBG] RevisionsToMigrate: Index:33 - Number:34 - ChangedDate:03/20/2023 13:06:15
[20:58:06 DBG] RevisionsToMigrate: Index:34 - Number:35 - ChangedDate:03/21/2023 13:18:15
[20:58:06 DBG] RevisionsToMigrate: Index:35 - Number:36 - ChangedDate:03/21/2023 13:18:16
[20:58:06 DBG] RevisionsToMigrate: Index:36 - Number:37 - ChangedDate:03/21/2023 13:18:33
[20:58:06 DBG] RevisionsToMigrate: Index:37 - Number:38 - ChangedDate:03/31/2023 14:42:20
[20:58:06 DBG] RevisionsToMigrate: Index:38 - Number:39 - ChangedDate:03/31/2023 14:42:20
[20:58:06 DBG] RevisionsToMigrate: Index:39 - Number:40 - ChangedDate:04/03/2023 14:28:01
[20:58:06 DBG] RevisionsToMigrate: Index:40 - Number:41 - ChangedDate:04/03/2023 14:28:01
[20:58:06 DBG] RevisionsToMigrate: Index:41 - Number:42 - ChangedDate:04/03/2023 14:28:22
[20:58:06 DBG] RevisionsToMigrate: Index:42 - Number:43 - ChangedDate:04/04/2023 08:28:29
[20:58:06 DBG] RevisionsToMigrate: Index:43 - Number:44 - ChangedDate:04/04/2023 08:28:29
[20:58:06 DBG] RevisionsToMigrate: Index:44 - Number:45 - ChangedDate:04/04/2023 08:29:53
[20:58:06 DBG] RevisionsToMigrate: Index:45 - Number:46 - ChangedDate:04/04/2023 08:36:32
[20:58:06 DBG] RevisionsToMigrate: Index:46 - Number:47 - ChangedDate:04/04/2023 08:36:40
[20:58:06 DBG] RevisionsToMigrate: Index:47 - Number:48 - ChangedDate:04/05/2023 09:27:00
[20:58:06 DBG] RevisionsToMigrate: Index:48 - Number:49 - ChangedDate:04/05/2023 09:27:00
[20:58:06 DBG] RevisionsToMigrate: Index:49 - Number:50 - ChangedDate:04/05/2023 09:27:00
[20:58:06 DBG] RevisionsToMigrate: Index:50 - Number:51 - ChangedDate:04/05/2023 09:27:00
[20:58:06 DBG] RevisionsToMigrate: Index:51 - Number:52 - ChangedDate:04/05/2023 09:27:56
[20:58:06 DBG] RevisionsToMigrate: Index:52 - Number:53 - ChangedDate:04/05/2023 09:28:03
[20:58:06 DBG] RevisionsToMigrate: Index:53 - Number:54 - ChangedDate:04/06/2023 10:28:57
[20:58:06 DBG] RevisionsToMigrate: Index:54 - Number:55 - ChangedDate:04/10/2023 17:41:10
[20:58:06 DBG] RevisionsToMigrate: Index:55 - Number:56 - ChangedDate:04/14/2023 14:19:00
[20:58:06 DBG] RevisionsToMigrate: Index:56 - Number:57 - ChangedDate:04/14/2023 14:19:00
[20:58:06 DBG] RevisionsToMigrate: Index:57 - Number:58 - ChangedDate:05/11/2023 22:35:18
[20:58:06 DBG] RevisionsToMigrate:----------------------------------------------------
[20:58:06 DBG] TfsRevisionManager::GetRevisionsToMigrate: Raw Source 41750 Has 58 revisions
[20:58:06 INF] Found 58 revisions to migrate on  Work item:41750
[20:58:06 DBG] RevisionsToMigrate:----------------------------------------------------
[20:58:06 DBG] RevisionsToMigrate: Index:0 - Number:1 - ChangedDate:02/16/2023 21:03:20
[20:58:06 DBG] RevisionsToMigrate: Index:1 - Number:2 - ChangedDate:02/16/2023 21:03:20
[20:58:06 DBG] RevisionsToMigrate: Index:2 - Number:3 - ChangedDate:02/16/2023 21:03:26
[20:58:06 DBG] RevisionsToMigrate: Index:3 - Number:4 - ChangedDate:02/16/2023 21:03:26
[20:58:06 DBG] RevisionsToMigrate: Index:4 - Number:5 - ChangedDate:02/16/2023 21:03:36
[20:58:06 DBG] RevisionsToMigrate: Index:5 - Number:6 - ChangedDate:02/16/2023 21:03:36
[20:58:06 DBG] RevisionsToMigrate: Index:6 - Number:7 - ChangedDate:02/16/2023 21:41:21
[20:58:06 DBG] RevisionsToMigrate: Index:7 - Number:8 - ChangedDate:02/16/2023 21:41:39
[20:58:06 DBG] RevisionsToMigrate: Index:8 - Number:9 - ChangedDate:02/17/2023 13:59:47
[20:58:06 DBG] RevisionsToMigrate: Index:9 - Number:10 - ChangedDate:02/20/2023 14:04:41
[20:58:06 DBG] RevisionsToMigrate: Index:10 - Number:11 - ChangedDate:02/20/2023 14:05:31
[20:58:06 DBG] RevisionsToMigrate: Index:11 - Number:12 - ChangedDate:02/21/2023 13:55:01
[20:58:06 DBG] RevisionsToMigrate: Index:12 - Number:13 - ChangedDate:02/21/2023 13:55:01
[20:58:06 DBG] RevisionsToMigrate: Index:13 - Number:14 - ChangedDate:02/21/2023 13:55:06
[20:58:06 DBG] RevisionsToMigrate: Index:14 - Number:15 - ChangedDate:02/23/2023 20:28:31
[20:58:06 DBG] RevisionsToMigrate: Index:15 - Number:16 - ChangedDate:02/23/2023 20:28:54
[20:58:06 DBG] RevisionsToMigrate: Index:16 - Number:17 - ChangedDate:02/23/2023 21:56:14
[20:58:06 DBG] RevisionsToMigrate: Index:17 - Number:18 - ChangedDate:02/27/2023 10:50:40
[20:58:06 DBG] RevisionsToMigrate: Index:18 - Number:19 - ChangedDate:02/27/2023 10:50:40
[20:58:06 DBG] RevisionsToMigrate: Index:19 - Number:20 - ChangedDate:02/27/2023 10:50:41
[20:58:06 DBG] RevisionsToMigrate: Index:20 - Number:21 - ChangedDate:02/27/2023 10:50:41
[20:58:06 DBG] RevisionsToMigrate: Index:21 - Number:22 - ChangedDate:02/27/2023 10:50:50
[20:58:06 DBG] RevisionsToMigrate: Index:22 - Number:23 - ChangedDate:02/27/2023 10:50:50
[20:58:06 DBG] RevisionsToMigrate: Index:23 - Number:24 - ChangedDate:02/27/2023 10:51:15
[20:58:06 DBG] RevisionsToMigrate: Index:24 - Number:25 - ChangedDate:02/27/2023 10:51:20
[20:58:06 DBG] RevisionsToMigrate: Index:25 - Number:26 - ChangedDate:02/27/2023 10:51:22
[20:58:06 DBG] RevisionsToMigrate: Index:26 - Number:27 - ChangedDate:02/27/2023 10:51:25
[20:58:06 DBG] RevisionsToMigrate: Index:27 - Number:28 - ChangedDate:02/27/2023 10:51:27
[20:58:06 DBG] RevisionsToMigrate: Index:28 - Number:29 - ChangedDate:02/27/2023 10:51:29
[20:58:06 DBG] RevisionsToMigrate: Index:29 - Number:30 - ChangedDate:02/27/2023 13:45:24
[20:58:06 DBG] RevisionsToMigrate: Index:30 - Number:31 - ChangedDate:03/03/2023 14:10:35
[20:58:06 DBG] RevisionsToMigrate: Index:31 - Number:32 - ChangedDate:03/08/2023 08:53:19
[20:58:06 DBG] RevisionsToMigrate: Index:32 - Number:33 - ChangedDate:03/08/2023 08:53:19
[20:58:06 DBG] RevisionsToMigrate: Index:33 - Number:34 - ChangedDate:03/20/2023 13:06:15
[20:58:06 DBG] RevisionsToMigrate: Index:34 - Number:35 - ChangedDate:03/21/2023 13:18:15
[20:58:06 DBG] RevisionsToMigrate: Index:35 - Number:36 - ChangedDate:03/21/2023 13:18:16
[20:58:06 DBG] RevisionsToMigrate: Index:36 - Number:37 - ChangedDate:03/21/2023 13:18:33
[20:58:06 DBG] RevisionsToMigrate: Index:37 - Number:38 - ChangedDate:03/31/2023 14:42:20
[20:58:06 DBG] RevisionsToMigrate: Index:38 - Number:39 - ChangedDate:03/31/2023 14:42:20
[20:58:06 DBG] RevisionsToMigrate: Index:39 - Number:40 - ChangedDate:04/03/2023 14:28:01
[20:58:06 DBG] RevisionsToMigrate: Index:40 - Number:41 - ChangedDate:04/03/2023 14:28:01
[20:58:06 DBG] RevisionsToMigrate: Index:41 - Number:42 - ChangedDate:04/03/2023 14:28:22
[20:58:06 DBG] RevisionsToMigrate: Index:42 - Number:43 - ChangedDate:04/04/2023 08:28:29
[20:58:06 DBG] RevisionsToMigrate: Index:43 - Number:44 - ChangedDate:04/04/2023 08:28:29
[20:58:06 DBG] RevisionsToMigrate: Index:44 - Number:45 - ChangedDate:04/04/2023 08:29:53
[20:58:06 DBG] RevisionsToMigrate: Index:45 - Number:46 - ChangedDate:04/04/2023 08:36:32
[20:58:06 DBG] RevisionsToMigrate: Index:46 - Number:47 - ChangedDate:04/04/2023 08:36:40
[20:58:06 DBG] RevisionsToMigrate: Index:47 - Number:48 - ChangedDate:04/05/2023 09:27:00
[20:58:06 DBG] RevisionsToMigrate: Index:48 - Number:49 - ChangedDate:04/05/2023 09:27:00
[20:58:06 DBG] RevisionsToMigrate: Index:49 - Number:50 - ChangedDate:04/05/2023 09:27:00
[20:58:06 DBG] RevisionsToMigrate: Index:50 - Number:51 - ChangedDate:04/05/2023 09:27:00
[20:58:06 DBG] RevisionsToMigrate: Index:51 - Number:52 - ChangedDate:04/05/2023 09:27:56
[20:58:06 DBG] RevisionsToMigrate: Index:52 - Number:53 - ChangedDate:04/05/2023 09:28:03
[20:58:06 DBG] RevisionsToMigrate: Index:53 - Number:54 - ChangedDate:04/06/2023 10:28:57
[20:58:06 DBG] RevisionsToMigrate: Index:54 - Number:55 - ChangedDate:04/10/2023 17:41:10
[20:58:06 DBG] RevisionsToMigrate: Index:55 - Number:56 - ChangedDate:04/14/2023 14:19:00
[20:58:06 DBG] RevisionsToMigrate: Index:56 - Number:57 - ChangedDate:04/14/2023 14:19:00
[20:58:06 DBG] RevisionsToMigrate: Index:57 - Number:58 - ChangedDate:05/11/2023 22:35:18
[20:58:06 DBG] RevisionsToMigrate:----------------------------------------------------
[20:58:06 DBG] Setting 'System.CreatedBy'=lc <lc@x.com>
[20:58:06 DBG] Setting 'System.CreatedDate'=02/16/2023 21:03:20
[20:58:06 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [1]


[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:True New:True
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:JN
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:New New:New
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/16/2023 21:03:20 New:null
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch New:JN AB Merged
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch New:JN AB Merged
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch, Area)
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch, Iteration)
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:06 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:06 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:06 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 1 of 58


[20:58:06 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [2]
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:True
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:1 New:2
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:09/28/2023 20:58:06
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16787 New:
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/16/2023 21:03:20 New:09/28/2023 20:58:06
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:06 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:06 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:06 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 2 of 58


[20:58:06 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [3]
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:1 New:1
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16787 New:JIRAUSER16787
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/16/2023 21:03:26 New:09/28/2023 20:58:06
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:06 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:06 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:06 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 3 of 58


[20:58:06 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [4]
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:1 New:1
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16787 New:JIRAUSER16787
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/16/2023 21:03:26 New:09/28/2023 20:58:06
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:06 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:06 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:06 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:06 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:06 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 4 of 58


[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [5]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:1 New:1
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16787 New:JIRAUSER16787
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/16/2023 21:03:36 New:09/28/2023 20:58:06
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 5 of 58


[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [6]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:1 New:1
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16787 New:JIRAUSER16787
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/16/2023 21:03:36 New:09/28/2023 20:58:07
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 6 of 58


[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [7]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:1
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16787
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/16/2023 21:41:39 New:09/28/2023 20:58:07
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 8 of 58


[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [9]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/17/2023 13:59:47 New:09/28/2023 20:58:07
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 9 of 58


[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [10]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/20/2023 14:04:41 New:09/28/2023 20:58:07
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 10 of 58


[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [11]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/20/2023 14:05:31 New:09/28/2023 20:58:07
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:07 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:07 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:07 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:07 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 11 of 58


[20:58:08 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [12]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/21/2023 13:55:01 New:09/28/2023 20:58:07
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: TZ, AuthorisedBy: JN
[20:58:08 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 12 of 58


[20:58:08 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [13]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:TZ
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/21/2023 13:55:01 New:09/28/2023 20:58:08
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: TZ, AuthorisedBy: JN
[20:58:08 ERR] ArgumentException
System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
   at MigrationTools.Endpoints.TfsWorkItemConvertor.GetRevisionItems(RevisionCollection tfsRevisions) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\Endpoints\TfsWorkItemConvertor.cs:line 55
[20:58:08 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 13 of 58


[20:58:08 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [14]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:TZ
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/21/2023 13:55:06 New:02/21/2023 13:55:01
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: TZ, AuthorisedBy: JN
[20:58:08 ERR] ArgumentException
System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
   at MigrationTools.Endpoints.TfsWorkItemConvertor.GetRevisionItems(RevisionCollection tfsRevisions) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\Endpoints\TfsWorkItemConvertor.cs:line 55
[20:58:08 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 14 of 58


[20:58:08 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [15]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:TZ
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/23/2023 20:28:31 New:09/28/2023 20:58:08
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:08 ERR] ArgumentException
System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
   at MigrationTools.Endpoints.TfsWorkItemConvertor.GetRevisionItems(RevisionCollection tfsRevisions) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\Endpoints\TfsWorkItemConvertor.cs:line 55
[20:58:08 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 15 of 58


[20:58:08 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [16]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/23/2023 20:28:54 New:09/28/2023 20:58:08
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:08 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:08 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:08 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: lc <lc@x.com>, AuthorisedBy: JN
[20:58:09 ERR] ArgumentException
System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
   at MigrationTools.Endpoints.TfsWorkItemConvertor.GetRevisionItems(RevisionCollection tfsRevisions) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\Endpoints\TfsWorkItemConvertor.cs:line 55
[20:58:09 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 16 of 58


[20:58:09 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [17]
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:lc <lc@x.com>
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/23/2023 21:56:14 New:09/28/2023 20:58:08
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:09 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:09 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: gf@x.com, AuthorisedBy: JN
[20:58:09 ERR] ArgumentException
System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
   at MigrationTools.Endpoints.TfsWorkItemConvertor.GetRevisionItems(RevisionCollection tfsRevisions) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\Endpoints\TfsWorkItemConvertor.cs:line 55
[20:58:09 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 17 of 58


[20:58:09 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [18]
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:gf@x.com
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/27/2023 10:50:40 New:09/28/2023 20:58:09
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:09 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:09 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: TZ, AuthorisedBy: JN
[20:58:09 ERR] ArgumentException
System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
   at MigrationTools.Endpoints.TfsWorkItemConvertor.GetRevisionItems(RevisionCollection tfsRevisions) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\Endpoints\TfsWorkItemConvertor.cs:line 55
[20:58:09 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Saved TargetWorkItem 41754. Replayed revision 18 of 58


[20:58:09 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null |  Processing Revision [19]
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Custom.Capitalizable | Old:False New:False
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Custom.ReflectedWorkItemId | Old: New:https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.ValueArea | Old:Business New:Business
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: Microsoft.VSTS.Common.Priority | Old:2 New:2
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.Description | Old:<style>
[redacted]
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.CreatedBy | Old:lc <lc@x.com> New:lc <lc@x.com>
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.CreatedDate | Old:02/16/2023 21:03:20 New:02/16/2023 21:03:20
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.AssignedTo | Old:JIRAUSER16788 New:JIRAUSER16788
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.Reason | Old:New backlog item New:New backlog item
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.ChangedBy | Old:JN New:TZ
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.State | Old:Approved New:Approved
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.Title | Old:[FUSE-3041] Setup payeez testing on UAT New:[FUSE-3041] Setup payeez testing on UAT
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.ChangedDate | Old:02/27/2023 10:50:40 New:09/28/2023 20:58:09
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.AreaPath | Old:JN AB Perch\Migrated New:JN AB Merged\JN AB Perch\Migrated
[20:58:09 DBG] PopulateWorkItem:FieldUpdate: System.IterationPath | Old:JN AB Perch\Migrated\LOE Parking Lot New:JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated, Area)
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName(JN AB Perch\Migrated\LOE Parking Lot, Iteration)
[20:58:09 DBG] NodeStructureEnricher.GetNewNodeName::Mappers
[20:58:09 DBG] TfsExtensions::SaveToAzureDevOps
[20:58:09 DBG] TfsExtensions::SaveToAzureDevOps: ChangedBy: TZ, AuthorisedBy: JN
[20:58:09 ERR] ArgumentException
System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
   at MigrationTools.Endpoints.TfsWorkItemConvertor.GetRevisionItems(RevisionCollection tfsRevisions) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\Endpoints\TfsWorkItemConvertor.cs:line 55

(it was on a breakpoint here for ages whilst i was cleaning up the log text)
   
[21:10:50 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | ...FAILED to Save


[21:10:50 INF] ===============================================================
[21:10:54 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Custom.ResolutionReason (Resolution Reason) |
[21:10:55 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Custom.Owner (Owner) |
[21:10:57 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Custom.Fixversion (Fix version) |
[21:10:58 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Custom.Capitalizable (Capitalizable) | False
[21:10:59 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Custom.FrontendDevelopmentestimate (Frontend Development estimate) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | HHScrum.TestingEstimate (Testing Estimate) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | HHScrum.DevelopmentEstimate (Development Estimate) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Custom.ReflectedWorkItemId (ReflectedWorkItemId) | https://dev.azure.com/x.y.z/JN AB Perch/_workitems/edit/41750
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.BacklogPriority (Backlog Priority) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Scheduling.DueDate (Due Date) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.AcceptanceCriteria (Acceptance Criteria) |
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Scheduling.Effort (Effort) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.BusinessValue (Business Value) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Build.IntegrationBuild (Integration Build) |
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.ValueArea (Value Area) | Business
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.Priority (Priority) | 2
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.ClosedBy (Closed By) |
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.ClosedDate (Closed Date) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.ResolvedBy (Resolved By) |
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.ResolvedDate (Resolved Date) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.ActivatedBy (Activated By) |
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.ActivatedDate (Activated Date) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | Microsoft.VSTS.Common.StateChangeDate (State Change Date) | 09/28/2023 20:58:06
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.BoardLane (Board Lane) |
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.BoardColumnDone (Board Column Done) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.BoardColumn (Board Column) |
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.Tags (Tags) |
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.RelatedLinkCount (Related Link Count) | 0
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.History (History) |
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.Description (Description) | <style>
[redacted]
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.CreatedBy (Created By) | lc <lc@x.com>
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.CreatedDate (Created Date) | 02/16/2023 21:03:20
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.WorkItemType (Work Item Type) | Product Backlog Item
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.AssignedTo (Assigned To) | JIRAUSER16788
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.Reason (Reason) | New backlog item
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.ChangedBy (Changed By) | TZ
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.Rev (Rev) | 17
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.Watermark (Watermark) |
 939987
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.AuthorizedDate (Authorized Date) | 09/28/2023 20:58:09
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.State (State) | Approved
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.Title (Title) | [FUSE-3041] Setup payeez testing on UAT
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.AuthorizedAs (Authorized As) | JN
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.AreaId (Area ID) | 1979
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.Id (ID) | 41754
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.ChangedDate (Changed Date) | 02/27/2023 10:50:40
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.RevisedDate (Revised Date) | 01/01/9999 00:00:00
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.AreaPath (Area Path) | JN AB Merged\JN AB Perch\Migrated
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.NodeName (Node Name) | Migrated
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.AttachedFileCount (Attached File Count) | 0
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.HyperLinkCount (Hyperlink Count) | 0
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.CommentCount (Comment Count) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.RemoteLinkCount (Remote Link Count) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.Parent (Parent) | null
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.TeamProject (Team Project) | JN AB Merged
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.ExternalLinkCount (External Link Count) | 0
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.IterationId (Iteration ID) | 1988
[21:11:05 INF] [Product Backlog Item][Complete:     1/1][sid: 41750|Rev: 58][tid:  null | System.IterationPath (Iteration Path) | JN AB Merged\JN AB Perch\Migrated\LOE Parking Lot
[21:11:05 INF] ===============================================================
[21:11:05 ERR] System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
   at MigrationTools.Endpoints.TfsWorkItemConvertor.GetRevisionItems(RevisionCollection tfsRevisions) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\Endpoints\TfsWorkItemConvertor.cs:line 70
   at MigrationTools.Endpoints.TfsWorkItemConvertor.MapWorkItemtoWorkItemData(WorkItemData context_wid, WorkItem context_wi, Dictionary`2 fieldsOfRevision) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\Endpoints\TfsWorkItemConvertor.cs:line 38
   at MigrationTools.TfsExtensions.RefreshWorkItem(WorkItemData context, Dictionary`2 fieldsOfRevision) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\TfsExtensions.cs:line 51
   at MigrationTools.TfsExtensions.SaveToAzureDevOps(WorkItemData context) in C:\Users\xyz\source\azure-devops-migration-tools\src\MigrationTools.Clients.AzureDevops.ObjectModel\TfsExtensions.cs:line 83
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.ReplayRevisions(List`1 revisionsToMigrate, WorkItemData sourceWorkItem, WorkItemData targetWorkItem) in C:\Users\xyz\source\azure-devops-migration-tools\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 769
[21:11:06 INF] ===============================================================      

@MrHinsh
Copy link
Member

MrHinsh commented Sep 29, 2023

The 7 and the 8 might just be an off by zero! one count starts from 1 the other from 0.

The "An item with the same key has already been added." is more of an issue. I think we need to look at how that dictionary is built in TfsWorkItemConvertor.GetRevisionItems(RevisionCollection tfsRevisions)

@MrHinsh
Copy link
Member

MrHinsh commented Sep 29, 2023

It should not be posible to have two revisions with the same rev id.

private SortedDictionary<int, RevisionItem> GetRevisionItems(RevisionCollection tfsRevisions)
{
    var items = tfsRevisions.OfType<Revision>().Select(x => new RevisionItem()
    {
        Index = x.Index,
        Number = (int)x.Fields["System.Rev"].Value,
        ChangedDate = (DateTime)x.Fields["System.ChangedDate"].Value,
        Type = x.Fields["System.WorkItemType"].Value as string,
        Fields = GetFieldItems(x.Fields)
    }).ToList();

    try
    {
        var dictionary = items.ToDictionary(item => item.Number);
        return new SortedDictionary<int, RevisionItem>(dictionary);
    }
    catch (ArgumentException e)
    {
        Log.Error(e, "ArgumentException");
        var currentNumber = -1;
        foreach (var item in items)
        {
            if (item.Number == currentNumber)
            {
                item.Number += 1;
            }
            currentNumber = item.Number;
        }
        var dictionary = items.ToDictionary(item => item.Number);
        return new SortedDictionary<int, RevisionItem>(dictionary);
    }
}

But it must happen for the first exceptions to happen.

@MrHinsh
Copy link
Member

MrHinsh commented Sep 29, 2023

It looks like @ovebastiansen made this change back in 2022 with #1260

@zxjon22
Copy link
Author

zxjon22 commented Oct 6, 2023

I manged to find a work item that errors early on and have been looking at it.

What's the expected behaviour re: System.ChangedDate?

I can see the tool updating it for each iteration to match the source revision. However, after saving the target workitem to DevOps, it gets changed to the current date/time:

public static void SaveToAzureDevOps(this WorkItemData context)
{
    .
    .
    Log.Verbose("TfsExtensions::SaveToAzureDevOps::Save()");
    try
    {
        workItem.Save(); // <-- System.ChangeDate overridden by current date/time
    }
    catch (FormatException exc) when (exc.Message.Equals("The string 'Microsoft.TeamFoundation.WorkItemTracking.Common.ServerDefaultFieldValue' is not a valid AllXsd value.", StringComparison.InvariantCultureIgnoreCase))
    {
        Log.Warning("Ignoring: " + exc.Message);
    }
    context.RefreshWorkItem();
}

Looking at the projects I migrated back in April successfully from another DevOps instance I can see that System.ChangedDate was again updated to the date/time of the migration and not the original dates.

I was beginning to think DevOps doesn't let you set System.ChangedDate - however, the projects I migrated from Jira towards the end of last year with jira-azuredevops-migrator do have System.ChangedDates matching those in the original Jira project.

Source wit                    [ChangedDate Ticks]
[0] 1-> {26/01/2021 13:27:32} 63747264452 7830000
[1] 2-> {26/01/2021 13:27:32} 63747264452 7900000
[2] 3-> {26/01/2021 13:27:32} 63747264452 7900000
[3] 4-> {26/01/2021 13:27:32} 63747264452 7900000
[4] 5-> {26/01/2021 13:29:01} 63747264541 3930000

Target wit                    [ChangedDate Ticks]
[0] 1-> {05/10/2023 18:08:55} 63832126135 2530000
[1] 2-> {05/10/2023 18:08:55} 63832126135 3970000 
[2] 3-> {26/01/2021 13:27:32} 63747264452 7900000 <- didn't update (no-op?)  An item with the same key has already been added (rev 2)
[3] 4-> {05/10/2023 18:08:55} 63832126135 7470000 <- An item with the same key has already been added (rev 2)
[4] 5-> Dates must be increasing with each revision

So I fudged the dates by targetWorkItem.ToWorkItem().Fields["System.ChangedDate"].Value = DateTime.UtcNow; before the save (after the ApplyFieldMappings() call and it appeared to work.

There are revisions missing though in the target work item which #1260 was designed to handle?

Makes we wonder if #1596 is coming into play.

I created the Org earlier in the year and am still the Owner. I uploaded some data from Jira again this morning and jira-azuredevops-migrator maintained the original dates. I'm not seeing that here though (both use same PAT for access).

@MrHinsh
Copy link
Member

MrHinsh commented Oct 6, 2023

In our test environment the changed dates get updated.

If you are using a PAT token it needs to be "Full access".

@zxjon22
Copy link
Author

zxjon22 commented Oct 7, 2023

The PAT token has full access. I generated a new one just to be sure before posting yesterday. I may try a different authentication method - I'm struggling to know what else to do, tbh.

@MrHinsh
Copy link
Member

MrHinsh commented Oct 8, 2023

We have seen this before preiodically on some systems. I have no clew why... could it be that there is a denied somewhere in the bowels of the permissions?

Copy link

github-actions bot commented Nov 8, 2023

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 10 days

@AMARAVATHIVSRKPRASAD
Copy link

Any fix for this.

@MrHinsh
Copy link
Member

MrHinsh commented Mar 7, 2024

I think that we need a small engine that will reqrite the dates to be incremental. When it meets a data that is the same or lower as the previous it increments by 1s and then continues until there is a gap...

@muthu3758
Copy link

@MrHinsh I do have similar issue, any plan to fix this(VS402625: Dates must be increasing with each revision) issue.

@MrHinsh
Copy link
Member

MrHinsh commented Mar 11, 2024

We are always happy to take a pull request from someone who is willing to help.

This is a very rare issue that is not high on my radar as I have only seen one person before you with this issue.

MrHinsh added a commit that referenced this issue Mar 12, 2024
MrHinsh added a commit that referenced this issue Mar 12, 2024
…ecutive datetime with a full second intervel. (#1975)

Fix for #1660

The new addition will check that all dates are consecutive with at least
a full-second difference.
@MrHinsh MrHinsh closed this as completed Mar 12, 2024
MrHinsh added a commit that referenced this issue Mar 15, 2024
## Consecutive Dates

The system will now check that the Revision dates are consecutive. If
there are a bunch of identical dates, it will push each duplicate date
by 1 second to ensure that each one is consecutive.
          
 #1660 #1975

## User Mappings

There was a request to have the ability to map users to try and maintain
integrity across different systems. We added a TfsUserMappingEnricher`
that allows you to map users from Source to Target... this is not free
and takes some work. Runnin the `ExportUsersForMappingConfig` to get the
list of users will produce:

```
[
  {
    "Source": {
      "FriendlyName": "Martin Hinshelwood nkdAgility.com",
      "AccountName": "martin@nkdagility.com"
    },
    "target": {
      "FriendlyName": "Hinshelwood, Martin",
      "AccountName": "martin@othercompany.com"
    }
  },
  {
    "Source": {
      "FriendlyName": "Rollup Bot",
      "AccountName": "Bot@nkdagility.com"
    },
    "target": {
      "FriendlyName": "Service Account 4",
      "AccountName": "randoaccount@somecompany.com"
    }
  },
  {
    "Source": {
      "FriendlyName": "Another non mapped Account",
      "AccountName": "not-mapped@nkdagility.com"
    },
    "target": null
  }
]
```



##How it works

1. Run `ExportUsersForMappingConfig` which will export all of the Users
in Soruce Mapped or not to target.
2. Run `WorkItemMigrationConfig` which will run a validator by detail to
warn you of missing users. If it finds a mapping it will convert the
field...

##Notes
- Applies to all identity fields specified in the list
- It really sucks that we have to match on Display name! Email is
included for internal matching
- On 'ExportUsersForMappingConfig` you can set
`OnlyListUsersInWorkItems` to filter the mapping based on the scope of
the query. This is greater if you have many users.
- Both use the `TfsUserMappingEnricherOptions` setting in
`CommonEnrichersConfig` to know what to do.

```
{
  "ChangeSetMappingFile": null,
  "Source": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/nkdagility/",
    "Project": "AzureDevOps-Tools",
    "ReflectedWorkItemIDFieldName": "nkdScrum.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "Prompt",
    "PersonalAccessToken": "",
    "PersonalAccessTokenVariableName": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
  "Target": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/nkdagility-preview/",
    "Project": "migrationTest5",
    "ReflectedWorkItemIDFieldName": "nkdScrum.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "Prompt",
    "PersonalAccessToken": "",
    "PersonalAccessTokenVariableName": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
  "FieldMaps": [],
  "GitRepoMapping": null,
  "LogLevel": "Debug",
  "CommonEnrichersConfig": [
    {
      "$type": "TfsUserMappingEnricherOptions",
      "Enabled": true,
      "UserMappingFile": "C:\\temp\\userExport.json",
      "IdentityFieldsToCheck": [
        "System.AssignedTo",
        "System.ChangedBy",
        "System.CreatedBy",
        "Microsoft.VSTS.Common.ActivatedBy",
        "Microsoft.VSTS.Common.ResolvedBy",
        "Microsoft.VSTS.Common.ClosedBy"
      ]
    }
  ],
  "Processors": [
    {
      "$type": "ExportUsersForMappingConfig",
      "Enabled": true,
      "WIQLQuery": "SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @teamproject AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc",
      "OnlyListUsersInWorkItems": true
    }
  ],
  "Version": "15.0"
}
```

Resolves #1976
          
Export users for mapping context (#1969) for MrHinsh

---------

Co-authored-by: Nico Orschel <norschel@users.noreply.github.com>
Co-authored-by: Tom Frenzel <40773830+tomfrenzel@users.noreply.github.com>
@muthu3758
Copy link

muthu3758 commented Mar 20, 2024

I'm trying to do the testing of Dates must be increasing with each revision issue with version v15.0.1, here i attached the config file, but it's getting error.

{
"Version": "15.0",
"LogLevel": "Debug",
"workaroundForQuerySOAPBugEnabled": false,
"Source": {
"$type": "TfsTeamProjectConfig",
"Collection": "https://dev.azure.com/*****/",
"Project": "",
"ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
"AllowCrossProjectLinking": false,
"PersonalAccessToken": "",
"LanguageMaps": {
"AreaPath": "Area",
"IterationPath": "Iteration"
}
},
"Target": {
"$type": "TfsTeamProjectConfig",
"Collection": "https://dev.azure.com/*****/",
"Project": "",
"ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
"AllowCrossProjectLinking": false,
"PersonalAccessToken": "",
"LanguageMaps": {
"AreaPath": "Area",
"IterationPath": "Iteration"
}
},
"CommonEnrichersConfig": [
{
"$type": "TfsUserMappingEnricherOptions",
"Enabled": true,
"UserMappingFile": "C:\temp\userExport.json",
"IdentityFieldsToCheck": [
"System.AssignedTo",
"System.ChangedBy",
"System.CreatedBy",
"Microsoft.VSTS.Common.ActivatedBy",
"Microsoft.VSTS.Common.ResolvedBy",
"Microsoft.VSTS.Common.ClosedBy"
]

],
"Processors": [
{
"$type": "ExportUsersForMappingConfig",
"Enabled": true,
"WIQLQuery": "SELECT * FROM workitems WHERE [System.Id] IN (355750)",
"OnlyListUsersInWorkItems": true
},
{
"$type": "TestConfigurationsMigrationConfig",
"Enabled": true,
},
{
"$type": "WorkItemMigrationConfig",
"Enabled": true,
"UpdateCreatedDate": true,
"UpdateCreatedBy": true,
"LinkMigration": true,
"FixHtmlAttachmentLinks": false,
"SkipToFinalRevisedWorkItemType": false,
//"WIQLQuery": "SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @teamproject AND [System.WorkItemType] NOT IN ('Program', 'Portfolio', 'Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc",
"WIQLQuery": "SELECT * FROM workitems WHERE [System.Id] IN (355750)",
"WorkItemCreateRetryLimit": 5,
"FilterWorkItemsThatAlreadyExistInTarget": false,
"PauseAfterEachWorkItem": false,
"AttachRevisionHistory": false,
"LinkMigrationSaveEachAsAdded": false,
"GenerateMigrationComment": true,
"WorkItemIDs": null,
"MaxGracefulFailures": 0,
"SkipRevisionWithInvalidIterationPath": false,
"SkipRevisionWithInvalidAreaPath": false
},
{
"$type": "TfsTeamSettingsProcessorOptions",
"Enabled": false,
"MigrateTeamSettings": true,
"UpdateTeamSettings": true,
"PrefixProjectToNodes": false,
//"Teams": ["Forms", "Forms UD", "Forms - Business Applications", "Forms - Platform"],
"ProcessorEnrichers": null,
"SourceName": "TeamSource",
"TargetName": "TeamTarget",
},
{
"$type": "TestPlansAndSuitesMigrationConfig",
"Enabled": false,
"PrefixProjectToNodes": false,
"OnlyElementsWithTag": null,
"OnlyElementsUnderAreaPath": null,
//"TestPlanQueryBit": null,
"TestPlanQueryBit": null,
"RemoveInvalidTestSuiteLinks": false,
"FilterCompleted": false,
},
{
"$type": "TfsSharedQueryProcessorOptions",
"Enabled": false,
"PrefixProjectToNodes": false,
"SharedFolderName": "Shared Queries\Forms",
"SourceToTargetFieldMappings": null,
"ProcessorEnrichers": null,
"SourceName": "Source",
"TargetName": "Target"
}
],
"Endpoints": {
"TfsEndpoints": [
{
"Name": "Source",
"Organisation": "https://dev.azure.com//",
"Project": "",
"AccessToken": ""
},
{
"Name": "Target",
"Organisation": "https://dev.azure.com/
/",
"Project": "",
"AccessToken": ""
}
],
"TfsTeamSettingsEndpoints":[
{
"Name": "Source",
"Organisation": "https://dev.azure.com/
/",
"Project": "",
"AccessToken": ""
},
{
"Name": "Target",
"Organisation": "https://dev.azure.com/
****/",
"Project": "",
"AccessToken": ""
}
]
}
}

@MrHinsh
Copy link
Member

MrHinsh commented Mar 20, 2024

what sort of error?

@muthu3758
Copy link

[16:08:20 FTL] [v15.0.1] Error while running ExportUsersForMappingContext
System.NullReferenceException: Object reference not set to an instance of an object.
at MigrationTools.ProcessorEnrichers.TfsUserMappingEnricher.GetUsersListFromServer(IGroupSecurityService gss) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsUserMappingEnricher.cs:line 165
at MigrationTools.ProcessorEnrichers.TfsUserMappingEnricher.GetUsersInSourceMappedToTarget() in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsUserMappingEnricher.cs:line 174
at MigrationTools.ProcessorEnrichers.TfsUserMappingEnricher.GetUsersInSourceMappedToTargetForWorkItems(List`1 sourceWorkItems) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsUserMappingEnricher.cs:line 199
at VstsSyncMigrator.Core.Execution.MigrationContext.ExportUsersForMappingContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\ExportUsersForMapping.cs:line 91
at MigrationTools._EngineV1.Processors.MigrationProcessorBase.Execute() in D:\a\1\s\src\MigrationTools_EngineV1\Processors\MigrationProcessorBase.cs:line 49
[16:08:20 ERR] [v15.0.1] ExportUsersForMappingContext The Processor MigrationEngine entered the failed state...stopping run
[16:08:20 INF] [v15.0.1] Application is shutting down...
[16:08:20 DBG] [v15.0.1] Hosting stopping
[16:08:20 DBG] [v15.0.1] Exiting with return code: 0
[16:08:20 INF] [v15.0.1] Application Ending
[16:08:20 INF] [v15.0.1] The application ran in 00:06:15.0158958 and finished at 03/20/2024 16:08:20
[16:08:20 DBG] [v15.0.1] Hosting stopped

@muthu3758
Copy link

muthu3758 commented Mar 22, 2024

I have disabled the users mapping as that's not our current scope in this migration, I'm just trying to validate Dates must be increasing with each revision issue.

[09:48:13 ERR] [v15.0.2] System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at System.IO.Path.Combine(String path1, String path2)
at MigrationTools.ProcessorEnrichers.TfsAttachmentEnricher.ProcessAttachemnts(WorkItemData source, WorkItemData target, Boolean save) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsAttachmentEnricher.cs:line 49
at VstsSyncMigrator.Engine.WorkItemMigrationContext.ProcessWorkItemAttachments(WorkItemData sourceWorkItem, WorkItemData targetWorkItem, Boolean save) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 676
at VstsSyncMigrator.Engine.WorkItemMigrationContext.d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 578
System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at System.IO.Path.Combine(String path1, String path2)
at MigrationTools.ProcessorEnrichers.TfsAttachmentEnricher.ProcessAttachemnts(WorkItemData source, WorkItemData target, Boolean save) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsAttachmentEnricher.cs:line 49
at VstsSyncMigrator.Engine.WorkItemMigrationContext.ProcessWorkItemAttachments(WorkItemData sourceWorkItem, WorkItemData targetWorkItem, Boolean save) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 676
at VstsSyncMigrator.Engine.WorkItemMigrationContext.d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 578
[09:48:13 ERR] [v15.0.2] Could not save migrated work item 355750, an exception occurred.
System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at VstsSyncMigrator.Engine.WorkItemMigrationContext.d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 649
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at VstsSyncMigrator.Engine.WorkItemMigrationContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 232
---> (Inner Exception #0) System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at VstsSyncMigrator.Engine.WorkItemMigrationContext.d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 649<---
[09:48:13 WRN] [v15.0.2] The following items could not be migrated: 355750
[09:48:13 INF] [v15.0.2] DONE in 00:00:12.2664586
[09:48:14 FTL] [v15.0.2] Error while running WorkItemMigration
System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: path1

@muthu3758
Copy link

I think still this issue is there

Technical information (for administrator):
VS402625: Dates must be increasing with each revision.
---> System.Web.Services.Protocols.SoapException: VS402625: Dates must be increasing with each revision.
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.RetryHandler.HandleSoapException(SoapException se)
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.WorkItemServer.Update(String requestId, XmlElement package, XmlElement& result, MetadataTableHaveEntry[] metadataHave, String& dbStamp, IMetadataRowSets& metadata)
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.SendUpdatePackage(XmlElement package, XmlElement& result, Boolean bulk)
--- End of inner exception stack trace ---
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.SendUpdatePackage(XmlElement package, XmlElement& result, Boolean bulk)
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.SaveWorkItems(WorkItem[] workitems, Boolean bulk, SaveFlags saveFlags)
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem.Save(SaveFlags saveFlags)
at MigrationTools.TfsExtensions.SaveToAzureDevOps(WorkItemData context) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\TfsExtensions.cs:line 77
at VstsSyncMigrator.Engine.WorkItemMigrationContext.ReplayRevisions(List`1 revisionsToMigrate, WorkItemData sourceWorkItem, WorkItemData targetWorkItem) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 848

@MrHinsh
Copy link
Member

MrHinsh commented Mar 22, 2024

You are goign to need to debug in Visual Studio... and see why you are still getting the date issue.

@MrHinsh MrHinsh reopened this Mar 22, 2024
@muthu3758
Copy link

Sorry @MrHinsh your previous comment is not completed, i'm just wondering not to miss any information, please let me know if i'm something is wrong in the config file.

@MrHinsh
Copy link
Member

MrHinsh commented Mar 22, 2024

updated.

@MrHinsh
Copy link
Member

MrHinsh commented Mar 22, 2024

We do the follwoing in TfsRevisionManager lines 96-109:

 public void EnforceDatesMustBeIncreasing(List<RevisionItem> sortedRevisions)
 {
     Log.LogDebug("TfsRevisionManager::EnforceDatesMustBeIncreasing");
     DateTime lastDateTime = DateTime.MinValue;
     foreach (var revision in sortedRevisions)
     {
         if (revision.ChangedDate == lastDateTime || revision.OriginalChangedDate < lastDateTime)
         {
             revision.ChangedDate = lastDateTime.AddSeconds(1);
             Log.LogDebug("TfsRevisionManager::EnforceDatesMustBeIncreasing[{revision}]::Fix", revision.Number);
         }
         lastDateTime = revision.ChangedDate;
     }
 }

You should be able to set Debug output and see exactly whats its changing. Look for "TfsRevisionManager::EnforceDatesMustBeIncreasing" in the log... and then after that it will show "{designation}: Found {RevisionsCount} revisions to migrate on Work item:{sourceWorkItemId}" and list the revisions from the source, and the target...

@muthu3758
Copy link

muthu3758 commented Mar 22, 2024

[13:51:24 INF] [v15.0.2] [ Bug][Complete: 1/1][sid:355750|Rev: 45][tid: null | Work Item has 45 revisions and revision migration is set to True
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[2]::Fix
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[3]::Fix
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[7]::Fix
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[22]::Fix
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[31]::Fix
[13:51:24 INF] [v15.0.2] Source: Found 45 revisions to migrate on Work item:Source
[13:51:24 DBG] [v15.0.2] Source: RevisionsToMigrate:----------------------------------------------------

After that it shows Processing Revision [1], Processing Revision [2], Processing Revision [3] and Processing Revision [4], it's failing at 4th revision, it has total 45 revisions

Is it because that Changed by user is currently not in the org.

at VstsSyncMigrator.Engine.WorkItemMigrationContext.ReplayRevisions(List`1 revisionsToMigrate, WorkItemData sourceWorkItem, WorkItemData targetWorkItem) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 848
[13:51:26 INF] [v15.0.2] ===============================================================
[13:51:26 DBG] [v15.0.2] TfsExtensions::SaveToAzureDevOps
[13:51:26 DBG] [v15.0.2] TfsExtensions::SaveToAzureDevOps: ChangedBy: email@.com, AuthorisedBy: Muthu
[13:51:26 ERR] [v15.0.2] Microsoft.TeamFoundation.WorkItemTracking.Client.UnexpectedErrorException: TF237121: Cannot complete the operation. An unexpected error occurred.

Technical information (for administrator):
VS402625: Dates must be increasing with each revision.
---> System.Web.Services.Protocols.SoapException: VS402625: Dates must be increasing with each revision.

@MrHinsh
Copy link
Member

MrHinsh commented Mar 22, 2024

Great, so all of the revisions that were "fixed" above were ones where the date was the same as the one before.

I don't think its that... Can you add both the Source revisions list and the target revisions list that starts with "{designation}: Found {RevisionsCount} revisions to migrate on Work item:{sourceWorkItemId}" ... We just need the first 5 of each to see the dates around the 4th entry.

@muthu3758
Copy link

First time when i run this i got an error as Dates must be increasing with each revisions, then through API I have validated that from source all the revisions are identical.

I was wondering what could be the reason then, after that I figured out this workitem is migrated from Jira with Solidify tool, is that causing this issue.

And to answer your question in the logs I don't see {designation}: Found {RevisionsCount} revisions to migrate on Work item:{sourceWorkItemId}" ..

I have attached the full log, please go through it, and let me know where i should add the values.
migration.log

@MrHinsh
Copy link
Member

MrHinsh commented Mar 22, 2024

You can see the Source: Found 45 revisions to migrate on Work item:Source below detailing each remission from the source.

I can see that none of the fixed revisions have duplicates...

Work Item has 45 revisions and revision migration is set to true 
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing 
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[2]::Fix 
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[3]::Fix 
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[7]::Fix 
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[22]::Fix 
[13:51:24 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[31]::Fix 
[13:51:24 INF] [v15.0.2] Source: Found 45 revisions to migrate on Work item:Source 
[13:51:24 DBG] [v15.0.2] Source: RevisionsToMigrate:---------------------------------------------------- 
[13:51:24 DBG] [v15.0.2] RevisionsToMigrate: Index:0 - Number:1 - ChangedDate:"2014-03-07T15:23:13.0000000+01:00" 
[13:51:24 DBG] [v15.0.2] RevisionsToMigrate: Index:1 - Number:2 - ChangedDate:"2014-03-07T15:23:14.0000000+01:00" 
[13:51:24 DBG] [v15.0.2] RevisionsToMigrate: Index:2 - Number:3 - ChangedDate:"2014-03-07T15:23:15.0000000+01:00" 
[13:51:24 DBG] [v15.0.2] RevisionsToMigrate: Index:3 - Number:4 - ChangedDate:"2014-03-07T15:42:17.0070000+01:00" 
[13:51:24 DBG] [v15.0.2] RevisionsToMigrate: Index:4 - Number:5 - ChangedDate:"2014-03-07T17:45:57.0070000+01:00" 
[13:51:24 DBG] [v15.0.2] RevisionsToMigrate: Index:5 - Number:6 - ChangedDate:"2014-03-07T18:09:13.0070000+01:00"

Can you run this just for the work item that Is erroring out and use the same segment of the log?

If the fixed items are all assending then I can talk to the product team and see if there is some issue on the ADO side.

@muthu3758
Copy link

Hi @MrHinsh

Thanks for your time. The logs what I have shared on last friday for the errored workitem, I was trying to feed only one error work item to see that is able to migrate it.

If it's okay for you then I can share my screen and show you the error what i'm facing. Please let me know if you need any further logs on this.

@MrHinsh
Copy link
Member

MrHinsh commented Mar 25, 2024

Its the 45th revision that is failing.. the one with the 2024 date.

@muthu3758
Copy link

[13:35:49 DBG] [v15.0.2] Query sent
[13:35:49 INF] [v15.0.2] 1 Work items received, verifying
[13:35:50 INF] [v15.0.2] Loading 1 Work Items
[13:35:58 DBG] [v15.0.2] 1 Work Items loaded
[13:35:58 DBG] [v15.0.2] GetReflectedWorkItemId: START
[13:35:58 DBG] [v15.0.2] GetReflectedWorkItemId: END - Has ReflectedWorkItemIdField and has value
[13:35:58 INF] [v15.0.2] [ Bug][Complete: 1/1][sid:355750|Rev: 45][tid: null | Work Item has 45 revisions and revision migration is set to True
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[2]::Fix
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[3]::Fix
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[7]::Fix
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[22]::Fix
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::EnforceDatesMustBeIncreasing[31]::Fix
[13:35:58 INF] [v15.0.2] Source: Found 45 revisions to migrate on Work item:Source
[13:35:58 DBG] [v15.0.2] Source: RevisionsToMigrate:----------------------------------------------------
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:0 - Number:1 - ChangedDate:03/07/2014 15:23:13
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:1 - Number:2 - ChangedDate:03/07/2014 15:23:14
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:2 - Number:3 - ChangedDate:03/07/2014 15:23:15
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:3 - Number:4 - ChangedDate:03/07/2014 15:42:17
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:4 - Number:5 - ChangedDate:03/07/2014 17:45:57
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:5 - Number:6 - ChangedDate:03/07/2014 18:09:13
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:6 - Number:7 - ChangedDate:03/07/2014 18:09:14
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:7 - Number:8 - ChangedDate:03/07/2014 18:20:30
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:8 - Number:9 - ChangedDate:03/07/2014 18:24:56
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:9 - Number:10 - ChangedDate:03/07/2014 18:31:08
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:10 - Number:11 - ChangedDate:03/07/2014 18:32:59
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:11 - Number:12 - ChangedDate:03/07/2014 18:33:47
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:12 - Number:13 - ChangedDate:03/12/2014 09:06:28
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:13 - Number:14 - ChangedDate:03/12/2014 09:13:32
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:14 - Number:15 - ChangedDate:03/12/2014 09:13:58
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:15 - Number:16 - ChangedDate:03/13/2014 01:39:48
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:16 - Number:17 - ChangedDate:05/22/2014 08:23:59
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:17 - Number:18 - ChangedDate:05/27/2015 14:41:10
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:18 - Number:19 - ChangedDate:02/01/2021 14:27:03
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:19 - Number:20 - ChangedDate:09/21/2023 00:19:39
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:20 - Number:21 - ChangedDate:09/24/2023 14:02:29
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:21 - Number:22 - ChangedDate:09/24/2023 14:02:30
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:22 - Number:23 - ChangedDate:09/27/2023 17:53:32
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:23 - Number:24 - ChangedDate:09/27/2023 17:53:56
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:24 - Number:25 - ChangedDate:09/27/2023 17:54:32
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:25 - Number:26 - ChangedDate:09/27/2023 18:17:03
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:26 - Number:27 - ChangedDate:09/28/2023 09:00:21
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:27 - Number:28 - ChangedDate:09/28/2023 11:16:45
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:28 - Number:29 - ChangedDate:10/02/2023 10:34:33
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:29 - Number:30 - ChangedDate:10/06/2023 13:58:27
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:30 - Number:31 - ChangedDate:10/06/2023 13:58:28
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:31 - Number:32 - ChangedDate:10/27/2023 10:45:43
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:32 - Number:33 - ChangedDate:10/27/2023 10:45:54
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:33 - Number:34 - ChangedDate:10/29/2023 12:14:36
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:34 - Number:35 - ChangedDate:11/17/2023 12:45:05
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:35 - Number:36 - ChangedDate:11/17/2023 12:45:23
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:36 - Number:37 - ChangedDate:11/17/2023 12:46:17
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:37 - Number:38 - ChangedDate:11/17/2023 12:46:48
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:38 - Number:39 - ChangedDate:11/20/2023 16:55:15
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:39 - Number:40 - ChangedDate:11/20/2023 16:57:55
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:40 - Number:41 - ChangedDate:11/20/2023 16:58:40
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:41 - Number:42 - ChangedDate:11/20/2023 16:59:44
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:42 - Number:43 - ChangedDate:12/15/2023 10:01:27
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:43 - Number:44 - ChangedDate:12/15/2023 10:22:00
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:44 - Number:45 - ChangedDate:03/12/2024 14:49:48
[13:35:58 DBG] [v15.0.2] Source: RevisionsToMigrate:----------------------------------------------------
[13:35:58 INF] [v15.0.2] Target: Found 2 revisions to migrate on Work item:Target
[13:35:58 DBG] [v15.0.2] Target: RevisionsToMigrate:----------------------------------------------------
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:0 - Number:1 - ChangedDate:03/07/2014 15:23:13
[13:35:58 DBG] [v15.0.2] RevisionsToMigrate: Index:1 - Number:2 - ChangedDate:03/22/2024 13:51:25
[13:35:58 DBG] [v15.0.2] Target: RevisionsToMigrate:----------------------------------------------------
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::GetRevisionsToMigrate: Raw Source Has 45 revisions
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::GetRevisionsToMigrate::RemoveRevisionsAlreadyOnTarget Raw Target Has 2 revisions
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::GetRevisionsToMigrate::RemoveRevisionsAlreadyOnTarget After removing Date Matches there are 44 left
[13:35:58 DBG] [v15.0.2] TfsRevisionManager::GetRevisionsToMigrate::RemoveRevisionsAlreadyOnTarget After removing revisions before target latest date 03/22/2024 13:51:25 there are 0 left
[13:35:58 INF] [v15.0.2] Source: Found 0 revisions to migrate on Work item:Source
[13:35:58 DBG] [v15.0.2] Source: RevisionsToMigrate:----------------------------------------------------
[13:35:58 DBG] [v15.0.2] Source: RevisionsToMigrate:----------------------------------------------------
[13:35:58 INF] [v15.0.2] [ Bug][Complete: 1/1][sid:355750|Rev: 45][tid: null | Attachemnts 2 | LinkMigrator:True
[13:35:58 INF] [v15.0.2] AttachmentMigrationEnricher: Migrating 2 attachemnts from 355750 to 403310
[13:35:58 ERR] [v15.0.2] System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at System.IO.Path.Combine(String path1, String path2)
at MigrationTools.ProcessorEnrichers.TfsAttachmentEnricher.ProcessAttachemnts(WorkItemData source, WorkItemData target, Boolean save) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsAttachmentEnricher.cs:line 49
at VstsSyncMigrator.Engine.WorkItemMigrationContext.ProcessWorkItemAttachments(WorkItemData sourceWorkItem, WorkItemData targetWorkItem, Boolean save) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 676
at VstsSyncMigrator.Engine.WorkItemMigrationContext.d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 578
System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at System.IO.Path.Combine(String path1, String path2)
at MigrationTools.ProcessorEnrichers.TfsAttachmentEnricher.ProcessAttachemnts(WorkItemData source, WorkItemData target, Boolean save) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsAttachmentEnricher.cs:line 49
at VstsSyncMigrator.Engine.WorkItemMigrationContext.ProcessWorkItemAttachments(WorkItemData sourceWorkItem, WorkItemData targetWorkItem, Boolean save) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 676
at VstsSyncMigrator.Engine.WorkItemMigrationContext.d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 578
[13:35:58 ERR] [v15.0.2] Could not save migrated work item 355750, an exception occurred.
System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at VstsSyncMigrator.Engine.WorkItemMigrationContext.d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 649
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at VstsSyncMigrator.Engine.WorkItemMigrationContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 232
---> (Inner Exception #0) System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at VstsSyncMigrator.Engine.WorkItemMigrationContext.d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 649<---
[13:35:58 WRN] [v15.0.2] The following items could not be migrated: 355750
[13:35:58 INF] [v15.0.2] DONE in 00:00:12.6604669
[13:35:58 FTL] [v15.0.2] Error while running WorkItemMigration
System.AggregateException: One or more errors occurred. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: path1
at VstsSyncMigrator.Engine.WorkItemMigrationContext.d__42.MoveNext() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 649
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at VstsSyncMigrator.Engine.WorkItemMigrationContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 252
at MigrationTools._EngineV1.Processors.MigrationProcessorBase.Execute() in D:\a\1\s\src\MigrationTools_EngineV1\Processors\MigrationProcessorBase.cs:line 50
---> (Inner Exception #0) System.ArgumentNullException: Value cannot be null.

This is the complete error log of that.

@MrHinsh
Copy link
Member

MrHinsh commented Mar 25, 2024 via email

@muthu3758
Copy link

Issue_1660_1

@MrHinsh
Copy link
Member

MrHinsh commented Mar 25, 2024

So its the revission from today that is blocking migration. Can you check which revision the "today" revision in the taget relates to in the source?

I'm curious as to how that was made by the tool! Or if it was a manual update on the taregt!

@muthu3758
Copy link

This is the screenshot from the Target, but in source we have many revisions, out of that only 2 revisions are migrated(Only Item Created) so 2nd revision in the target is updated with today's date.

But in source we don't have any revisions created with today's date.

So i'm little confused to find the root cause of this problem.

@MrHinsh
Copy link
Member

MrHinsh commented Mar 25, 2024

It looks like either a) someone has edited the target after the first creation, or b) some weird bug has resulted in the item's second revision being saved to today's date.

Can you check which revision on the source matched the data changes in the target? If it's the second revision, then it's likely a bug. If its not a listed revision then someone messed with your work item after the first revision...

I cant imagine that the system moved the work item from "[project]" to "[project]\migrated" on the area path... that looks manual.

If its manual... then deleting this work item permanently and then re-running will clear the issue.

@muthu3758
Copy link

Multiple times I have deleted the work item from Target and rerun it. While migrating from Source, for the 2nd revision it's updating with today's date.

Is it something we need to change the config file.

image

Copy link

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 10 days

@MrHinsh
Copy link
Member

MrHinsh commented May 3, 2024

@muthu3758 you may need to step through the code to see where the issue is..

@MrHinsh
Copy link
Member

MrHinsh commented May 30, 2024

We have been getting some help form the product team on this... This is the current debug on their end:


It's hard to say with certainty, but from the traces, it seems that 2 update calls were made at the same time from the same tool and the 2nd call failed. (Note that the 2nd call was made before the first call finished, which can result in the conflict that you are seeing). Not sure if your tool can use more than 1 thread to perform updates. If yes, that could be the root cause of what you are seeing here.

StartTime EndTime RoleInstance ActivityId ExceptionMessage
2024-05-28 09:42:27.5820000 2024-05-28 09:42:30.1766606 AT_IN_0_Green 95fe003d-d3c2-47d5-9fe2-a5af56473d5c
2024-05-28 09:42:27.8480000 2024-05-28 09:42:30.9892282 AT_IN_28_Green f81f7273-b3d4-487e-8bd3-339771766818 VS402625: Dates must be increasing with each revision.

Im not sure I agree with the diagnosis and we are still investigating.

@Nicola-Wing
Copy link

Hi MrHinsh, I faced the same problem "Dates must increase". I would like to share one observation, maybe it will help. Version 13.1.0, almost 500 non-test items.
During first migration just 21 items had issue "Revision dates must increase". The next run (query by needed ids) could migrate 4 successfully and others not as with error.
During re-migration of all these items happened again 21 with issue. But during next run 6 successfully. Next run all others successfully besides 1. This 1 was without "Revisions date must increase".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment