-
Notifications
You must be signed in to change notification settings - Fork 9
Description
My company has relied on Team Foundation Power Tools (tfpt.exe) to migrate shelf sets in the past but it’s tied to VS 2015 and we’re hoping to get rid of it. I was experimenting with MultiMerge for migrating a shelf set between branches and I am stuck at an exception.
Steps to recreate:
- From “Pending Changes” window, choose Actions | Find Shelvesets
- From the list of shelvesets, right click one and choose “Unshelve to Branch”
- In the “Choose target branch” dialog, I pick a different branch
- Click OK and after a brief pause, I get an error message box “Index was outside the bounds of the array.”
I have tried using branches that are present in the “Choose target branch” dialog as well as a branch that is in the same workspace but is not listed (by pasting in the full path to the branch). Both give the same error.
Other details:
In the output window I see the following (branch and file names changed to not leak company info):
9/3/2024 1:04:23 PM [1] - Found source branch: $/AAA/BB/CCCCCCCCCCCC/Dev/Branch_Child
9/3/2024 1:04:34 PM [1] -
$/AAA/BB/CCCCCCCCCCCC/Dev/Branch_Parent/Server/Path/To/File1/File1.cs:
9/3/2024 1:04:35 PM [1] -
$/AAA/BB/CCCCCCCCCCCC/Dev/Branch_Parent/Server/Path/To/File2/File2.cs:
9/3/2024 1:04:35 PM [1] - StartingAutoMerge
9/3/2024 1:04:35 PM [1] - Index was outside the bounds of the array.
9/3/2024 1:04:35 PM [1] - System.IndexOutOfRangeException: Index was outside the bounds of the array.
at MultiMergeShared.ShelvesetWorker.PreMerge(ShelvedItem item, Workspace workspace)
at MultiMergeShared.ShelvesetWorker.PendResolvedUnshelveConflict(ShelvedItem item, UnshelveConflictResolution resolution, Workspace workspace, ILogger logger, UpdateLocalVersionQueue queue)
at MultiMergeShared.ShelvesetWorker.UnshelveMerge(String shelvesetName, String shelvesetOwner, PendingChange[] pendingChanges, MigrationRule migrationRule, Workspace workspace, ILogger logger, UpdateLocalVersionQueue queue)
at MultiMerge.MergeWorker.MergeShelveSet(Shelveset shelveset, ILogger logger)
at MultiMerge.MultiMergePackage.UnShelveToBranch(Object sender, EventArgs e)
Microsoft Visual Studio Enterprise 2022
Version 17.11.2
VisualStudio.17.Release/17.11.2+35222.181
MultiMerge.2022 v1.1.17.0
Both branches are in the same workspace, but have different working folders mapped within that workspace. Something like
- $/AAA/BB/CCCCCCCCCCCC/Dev/Branch_Child = c:\tfs\branch_child
- $/AAA/BB/CCCCCCCCCCCC/Dev/Branch_Parent = c:\tfs\branch_parent
I did notice a few other reports of similar errors on the VS Marketplace page for the extension: https://marketplace.visualstudio.com/items?itemName=Jesusfan.MultiMerge2022&ssr=false#qna
If you need more details please let me know.
Thanks!