Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 370953

Summary: Comparison of 2 GIT revisions of a Papyrus diagram does not work
Product: [Modeling] EMFCompare Reporter: Cedric Notot <cedric.notot>
Component: TeamAssignee: EMF Compare <emf.compare-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: laurent.goubet, mikael.barbero, sbouchet
Version: 1.3   
Target Milestone: Luna   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Bug Depends on: 354474    
Bug Blocks:    
Attachments:
Description Flags
Data set none

Description Cedric Notot CLA 2012-02-08 09:15:26 EST
If you compare 2 GIT revisions of a Papyrus diagram (di), EMF Compare throws an IndexOutOfBoundsException because it does not succeed to find the referenced Diagram object (of the notation resource) from the Di resource in the revision to compare with.

If you add notation files as content type in plugin.xml, you will be able to compare 2 notation files but you will get the same resolving problem between the objects of the notation resource and the ones of the semantic (UML) resource.

I attached a data set in a local GIT repository to reproduce the issue.
- On model.di, compare with commit "init".
Comment 1 Cedric Notot CLA 2012-02-08 09:16:33 EST
Created attachment 210735 [details]
Data set
Comment 2 Laurent Goubet CLA 2012-03-01 08:59:51 EST
The resolution of inter-model dependencies is done through the ModelProvider API; here the failures comes from us not being called, and thus not being able to resolve the location of the remote model. This cannot be fixed as yet since Git is not using the necessary APIs from Team.
Comment 3 Laurent Goubet CLA 2012-03-06 05:57:55 EST
*** Bug 361781 has been marked as a duplicate of this bug. ***
Comment 4 Mikaƫl Barbero CLA 2014-08-21 08:28:02 EDT
This is fixed in EGit now.