Jump to: navigation, search

EMF Compare/User Guide


EMF Compare
Website
Download
Community
Mailing List
Forums
Bugzilla
Open
Create New
Contribute
Browse Source


Getting Started

Installing EMF Compare

Marketplace Client

Using the bundled Eclipse marketplace client you can install EMF Compare in one click. Just type "emf compare", click on search, and then on install.


Marketplace.png

Update Site

EMF has been part of the Eclipse release train since Galileo, you can install it using the following update sites, depending on your platform. Note that the following are not meant to be visited in your internet browser; they must be pasted in the Help > Install New Software dialog of your Eclipse, as p2 repositories.

 http://download.eclipse.org/releases/galileo
 http://download.eclipse.org/releases/helios
 http://download.eclipse.org/releases/indigo
 http://download.eclipse.org/releases/juno

Please note that the EMF Compare development team does its best to maintain downward compatibility towards Galileo (Eclipse 3.5). Following is the compatibility chart :

EMF Compare Eclipse 3.2 - EMF 2.2 Eclipse 3.3 - EMF 2.3 Eclipse 3.4 - EMF 2.4 Eclipse 3.5 - EMF 2.5 Eclipse 3.6 - EMF 2.6 Eclipse 3.7 - EMF 2.7 Eclipse 3.8 - EMF 2.8
0.7 OK
0.8 KO OK OK
1.0 KO OK OK OK OK
1.1 KO KO OK OK OK OK OK
1.2 KO KO OK OK OK OK OK
1.3 KO KO KO OK OK OK OK
2.0 KO KO KO OK OK OK OK

An empty cell indicates that the compatibility hasn't been tested for a particular combination.

Usage

Once installed, you can compare your files (locally or from any Version Control System) as usual using the compare with menu.

EMFC Compare With.png

User Interface

The main points of interest are highlighted in the following picture :

EMF Compare's basic user interface
  1. Overview of the differences detected between the given two (or three) models.
  2. First version of the compared models.
  3. Second version of the compared models.
  4. This button will only be visible in the case of three-way comparisons (for example, comparing with a remote repository). It will make a third version of the compared model (the common ancestor of the two others) visible in the interface.
  5. This button will allow you to group differences together in the structural view. For example, grouping all "Additions" or "Deletions" together.
  6. This button will allow you to filter some differences out of the view according to a set predicate. For example, filtering out all "Additions" or "Moves".
  7. Allows you to merge all non conflicting differences (left to right, or right to left) at once.
  8. Allows you to merge the single, currently selected difference in a given direction (left to right, or right to left).
  9. Allows you to navigate through the detected differences.

Features

Handling Conflicts

PENDING

Grouping Differences

This feature allows you to group differences together in the structural view according to a set predicate. By default, EMF Compare provides three distinct grouping strategies : EMF Compare Groups Choice.png

Default 
Do not try and group differences together, display them as they were detected.

EMF Compare Groups Default.png

By Kind 
Group differences by their kind (additions, deletions, moves, changes).

EMF Compare Groups Kind.png

By Metaclass 
Group difference according to the metaclass of the object on which they were detected.

EMF Compare Groups Metaclass.png

PENDING UPDATE, this is a demo displaying EMF Compare 1.3 Demo

PENDING : New grouping strategies can be provided to EMF Compare through extension points.

Filtering Differences

This features allows you to filter differences out of the structural view according to a set predicate. By default, EMF Compare provides five distinct filters : EMF Compare Filters Choice.png

Changed Elements 
Filter out all differences of type CHANGE. Disabled by default.
Added Elements 
Filter out all differences of type ADD. Disabled by default.
Removed Elements 
Filter out all differences of type DELETE. Disabled by default.
Moved Elements 
Filter out all differences of type CHANGE. Disabled by default.
Resource Mappings 
Filter out all resource mappings from the view. Enabled by default.

PENDING UPDATE, this is a demo displaying EMF Compare 1.3 Demo

PENDING : New filters can be provided to EMF Compare through extension points.

Text Attribute Comparison

Differences made into String-typed attributes can be compared and merged directly as text from the compare interface through a simple right-click on the difference.

EMF Compare Text Compare.png

PENDING UPDATE, this demo displays EMF Compare 1.3 Demo

Graphical Comparison

Since the 1.2 release EMF compare provides the ability to compare models with graphical modelers.

Have a look on the following demos :

[Demo : Comparing Ecore files with diagrams]

[Demo : Comparing UML files with diagrams]

Diag comp diff.png

Logical Model

The Eclipse Platform logical model API allows to hook in all the workspace and team operations to adapt the user request. It enables, for instance, to add in a commit request new files which are required to keep model consistency.

[Demo  : keeping model consistency on Workspace operation]

EGit logical Selection.png

UML Specialization

[Demo : Specific support to encapsulate profiles and stereotypes diffs]

SysML Specialization

Exporting Differences

Other Materials