Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EMF DiffMerge

Introduction

Merging models is a common need in model-based activities; its relevance is far from being limited to version control. However, merging models is much more complex than merging source code. EMF Diff/Merge provides a lightweight engine for comparing and merging models using IDs.

Its scope includes, among others:

  • 2-way and 3-way comparison of arbitrary EMF models (or "instance models").
  • Matching of model elements by ID, where an ID can be any "signature" that uniquely identifies the element within its scope: Ecore ID, XML ID, qualified name, location in model tree, etc.
  • A simple GUI with reusable UI components.

The tool is intended to satisfy the following requirements:

  • It must support the comparison and merge of large models (scalability, reliability).
  • The consistency of the model being merged must be preserved by the tool whenever possible, by automatically merging interdependent differences together.
  • The order in which differences are merged must have no impact.

The final goal is to obtain a mature, versatile software building block for multiple usages: version control, incremental model transformations, model refactoring, etc.

The EMF Diff/Merge project is part of EMF.

Usage

Download

Links

Back to the top