Tuesday, June 30, 2009

EMF Compare graduated!

Galileo is out ... and with it came the graduation of EMF Compare to 1.0 at last!

A great deal of improvement has been made in EMF Compare so as to improve user experience and effectiveness. This release sees the usual new differences EMF Compare detects (reference order changes, resource dependencies, ...), and an improved support for the various VCSs (CVS, SVN, ...).

The most outstanding improvement is the ability to compare whole ResourceSets instead of a single model; allowing users to compare fragmented models as well as linked models (UML models referring to profiles, Genmodels referring to ecore models, ...) and thus detecting changes made in the selected models along with changes that can have taken place in their dependencies.

Thanks to a contribution from Moritz Eysholdt, EMF Compare now provides a patch format for model merging. This EPatch format is associated with a textual syntax thanks to XText, allowing for easier editing and improved readability of these patches.

The full list is available on EMF Compare 1.0 new and noteworthy wiki page.


  1. Congratulations ! That's a whole set of great features ;) I can't find how to use epatchs though. Installing EMF Compare 1.0 feature installs the epatch plugin but I can't find any UI in order to create an epatch.

    Maybe it's only available through API and no UI is available yet.


    Cédric Vidal

  2. Yeah, i have the same problem..

    I was hoping if you know any documentation related.

    Best regards!

  3. Cédric, Cris,

    Unfortunately we don't have any documentation on EPatches yet. They are a great contribution from Moritz Eysholdt ( https://bugs.eclipse.org/bugs/show_bug.cgi?id=262928 ) but IP-wise we barely made it into Galileo.

    The only documentation I can point you to is the Eclipse wiki page we began to put together on http://wiki.eclipse.org/EMF_Compare/Epatch .


  4. Hello Laurent,

    Thanks a lot! I already had a look at the wiki page, and was really useful :)

    I am digging into the code, to see how the elements are matching, and it seems that is does not rely on unique identifiers but on a distance relation in the model tree. Would be any chance that there is already support to distinguish elements based on similarities of the structure of each element?

    Best regards