When you run the transformation that you created in using the authoring tools, the transformation creates a transient model, which is an instance of a specific Ecore metamodel. The Compare and Merge functionality provides implementations of a generic Ecore merge strategy, and a separate merge strategy for UML models. If the transformation generates a UML output model, you do not have to configure merge support. If the transformation generates an output model that is an instance of an Ecore metamodel, and if you want to merge transformation output, you should verify that merge support is configured for that type of Ecore metamodel. Typically, metamodel authors configure the merge support strategy of the metamodel and can specify custom merge strategies.
For example, consider a transformation that generates an output model called MyOutputModel.input; this model is an instance of the input.ecore metamodel. To determine if merge support is enabled for input.ecore metamodels, check the extensions in the plug-in that contains the definition of the input.ecore metamodel. If merge support is configured for the input.ecore metamodel, the plugin.xml file in the plug-in that defines the metamodel contains a merge extension similar to one in the code fragment at the bottom of this topic. To override the specified merge strategy, or if merge support is not configured for this type of metamodel, you can add a merge extension to your mapping project, or to the project that contains the metamodel definition.
<extension point="org.eclipse.core.runtime.contentTypes"> <file-association content-type="com.ibm.xtools.comparemerge.emf.emfContentType" file-extensions="input"/> </extension>