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.
Difference between revisions of "EMF DiffMerge"
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
− | Merging models is a common need in model-based activities | + | Merging models is a common need in model-based activities, not only for version control but for model manipulation in general. However, merging models is much more complex than merging source code. Since EMF models are rich data structures with constraints and behavior, merging them consistently is a delicate problem. |
+ | |||
+ | EMF Diff/Merge provides a lightweight engine for comparing and merging models using IDs. | ||
Its scope includes, among others: | Its scope includes, among others: | ||
Line 17: | Line 19: | ||
The final goal is to obtain a mature, versatile software building block for multiple usages: version control, incremental model transformations, model refactoring, etc.<br> | The final goal is to obtain a mature, versatile software building block for multiple usages: version control, incremental model transformations, model refactoring, etc.<br> | ||
− | The EMF Diff/Merge project is part of [http://www.eclipse.org/projects/project.php?id=modeling.emf EMF].<br> | + | The EMF Diff/Merge project is part of [http://www.eclipse.org/projects/project.php?id=modeling.emf EMF].<br> |
== Usage == | == Usage == |
Revision as of 04:43, 27 July 2012
Contents
Introduction
Merging models is a common need in model-based activities, not only for version control but for model manipulation in general. However, merging models is much more complex than merging source code. Since EMF models are rich data structures with constraints and behavior, merging them consistently is a delicate problem.
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
- Via the update site: https://hudson.eclipse.org/hudson/job/buckminster-emf-diffmerge-master/lastSuccessfulBuild/artifact/result/publish/org.eclipse.emf.diffmerge.sdk.feature/site.p2/
- Or as dropins
Links
- Project summary: a summary of the current state of the project
- Project proposal: the original proposal that led to the creation of the project
- Forum: the dedicated newsgroup
- Bugzilla: for reporting bugs
- Build jobs: main, legacy