dyn365-ce-vsts-tasks icon indicating copy to clipboard operation
dyn365-ce-vsts-tasks copied to clipboard

Merging solutions

Open SKYOVI opened this issue 5 years ago • 2 comments

How can I merge multiple (unmanaged) solutions into a single solution and deploy the single solution into the target instance.

SKYOVI avatar Jul 12 '19 12:07 SKYOVI

@skyovi you could try to use the "Copy Solution Components" task to copy the components from all solutions into the solution you want to export.

WaelHamze avatar Aug 08 '19 20:08 WaelHamze

@WaelHamze ,

Correct me if i'm wrong, but the copy solution components doesn't have the ability to merge changes if the target solution already contains the components. This was an issue when I was trying to merge changes to some sub-components, without impacting other subcomponents that were in the target system. The way I got around this was by using a seperate development and staging environment. We have a shared dev environment. When a dev is ready to promote their changes they add only the subcomponents they want to merge and then kick off a powershell task (based on your commandlets) that performs the following steps.

  1. Creates a new unmanaged patch in development.
  2. Adds the subcomponents from the developers personal solution to the empty unmanaged patch.
  3. exports/Imports the patch to a separate "Staging" environment.
  4. Clones the solution in the staging environment to merge the patch into the master solution.
  5. Several cleanup tasks to remove patches and synchronize versions.

We are using this process to allow us to selectively promote changes from dev to staging where it is then unpacked and sent to source control, but a similar process could be used for @skyovi 's requirement. I'm curious if anyone thinks it's overkill and has a simpler way to selectively merge solutions.

tdahnert avatar Jan 17 '20 04:01 tdahnert