I hope, you already know what is new PowerShell application merge tool in Microsoft Dynamics NAV 2015. The new application merge features include a few of PowerShell cmdlets, but now, I will write only about Merge-NAVApplicationObject.
This tool compares the changes that have been made between two sets of NAV application objects, and applies the difference to a third set of application objects. The result of merge are text files with the merged objects and text files with conflicts, where cmdlet could not merge them.
This cmdlet is as following:
Merge-NAVApplicationObject -ModifiedPath C:\Upgrade\MODIFIED -OriginalPath C:\Upgrade\ORIGINAL -ResultPath C:\Upgrade\RESULT -TargetPath C:\Upgrade\TARGET
To run this command, we have to determine what is ORIGINAL, MODIFIED, TARGET and RESULT.
ORIGINAL is the baseline of application merge.
TARGET is version of application that we want to apply the difference between the original and modified.
RESULT is finally version of merged objects with conflicts, as well.
But, what is a MODIFIED?
Can we set our customized database in MODIFIED (and new NAV version in TARGET) or we can use new version of NAV as MODIFIED (and our customized version as TARGET)?
We usually have a less differences between new version of NAV and ORIGINAL. When you make test with both combinations, you will see that merging when you use new NAV version as MODIFIED is two time faster in comparison when you set a your customization as MODIFIED.
But “two times” is in relation with minutes, not hours and it is not so important. Result is important. In my very complex example (a lot of customizations), results is almost the same. I have 1194 conflicts in one test and 1197 in other. That means, it is also not important.
But very important thing is that if you set NAV new version as MODIFIED, you can have problem with license in import objects process.
Because of that, you always have to use your customized solution as MODIFIED and the new NAV version as TARGET.