Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Compare » Logical model compare (Compare 1.3.1, with SVN)
Logical model compare (Compare 1.3.1, with SVN) [message #1029432] Fri, 29 March 2013 17:35 Go to next message
Gail Natale is currently offline Gail Natale
Messages: 2
Registered: July 2009
Junior Member
We have a model containing resources in multiple files, stored in Subversion. When we added the references in one file to objects in another and made changes to both files, we had expected that performing a comparison from one file would follow those references when computing the objects to include in the comparison and display both resources in the CompareEditor, as seen here: http://wiki.eclipse.org/EMF_Compare_1.0.0_New_And_Noteworthy

Instead, we see the selected file has differences and it displays "Added dependency on resource xxxxx" for the other files (even though the dependency had already existed). Is there something we are missing with the auto-generated model code to ensure that the additional resources get loaded along with the selected resource? Or is there something we've neglected to add to our DiffEngine or MatchEngine?

We've been looking at the way the content is populated by the ModelComparator and see that there are possible issues with GiT vs. SVN but see the same Compare content with either repository for our model, so we're fairly certain this particular issue isn't caused by some strange subversion problem.
Re: Logical model compare (Compare 1.3.1, with SVN) [message #1032601 is a reply to message #1029432] Wed, 03 April 2013 07:39 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent Goubet
Messages: 1635
Registered: July 2009
Senior Member
Gail,

Specific support for subversion was provided through a separate feature of EMF Compare 1.3... though we only had tested support for subversive ("EMF Compare Subversive integration" feature) and there could be issues with subclipse. What you describe here seems like EMF Compare not being able to load the resource "xxxxx": we've seen that there is a reference to another resource, but we are unable to load it from the remote repository. This was because of the way these repository providers integrated with the Team APIs of Eclipse... and the boundaries between these APIs and the comparison APIs.

EMF Compare 2 currently faces the same kind of issues with SVN, so I cannot tell you to try and update. You will have to look at how we implemented the integration with Subversive (through the "team provider" extension point) and build from there to support references to external models located on SVN repositories in your case.

I am currently working on that area of EMF Compare 2, support for SVN should come shortly after I manage to handle all of Git cases.

Laurent Goubet
Obeo
Re: Logical model compare (Compare 1.3.1, with SVN) [message #1033067 is a reply to message #1032601] Wed, 03 April 2013 20:28 Go to previous messageGo to next message
Gail Natale is currently offline Gail Natale
Messages: 2
Registered: July 2009
Junior Member
Thanks for the response.

We are using the o.e.e.c.team.subversive plugin, haven't looked at using subclipse. Do you know of any issues with the logical model references and interaction with git for compare 1.3.3? Since both subversion and git gave us the same "Added dependency" message we thought it may be something we missed or didn't do when creating the reference in the model (like using UUIDs...)
Re: Logical model compare (Compare 1.3.1, with SVN) [message #1033423 is a reply to message #1033067] Thu, 04 April 2013 08:06 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent Goubet
Messages: 1635
Registered: July 2009
Senior Member
Gail,

Quote:

Do you know of any issues with the logical model references and interaction with git for compare 1.3.3?


EMF Compare 2 has been started because of limitations in version 1 that we could not overcome on both the logical model and the comparison process itself.

Without knowing how your models look, how you are launching the comparison, with which repository provider (you talk about SVN, but here you ask for Git? And by "SVN" are you using Subclipe or Subversive, or maybe another SVN plugin for Eclipse?) and what you expected as a result, I have no idea whether you are encountering one of said limitations or not.

Quote:
Since both subversion and git gave us the same "Added dependency" message we thought it may be something we missed or didn't do when creating the reference in the model (like using UUIDs...)


Again, I have no idea what your models look like. "added dependency" means that one model now depends on a resource "X" whereas it previously did not. By "depends" I mean that it references it one way or another.

If it did previously reference it (i.e. both sides of the comparison depend on resource "X" somehow), then the diff about a new dependency is indeed bogus. However, if both side reference resource X, but EMF Compare cannot find and load that resource for one side (usually, the "remote" side since we have to load the resource from the repository at the correct revision), then the diff about an added dependency will still be there.

EMF Compare 2 is already much better on that aspect, even though we are still waiting for EGit to fix some of its comparison actions. Full support of the logical model with EGit is expected for Kepler. SVN may be supported along with Kepler too if we manage to work around the quirks of subversive.

Laurent Goubet
Obeo

[Updated on: Thu, 04 April 2013 08:06]

Report message to a moderator

Re: Logical model compare (Compare 1.3.1, with SVN) [message #1033857 is a reply to message #1033423] Thu, 04 April 2013 18:23 Go to previous messageGo to next message
Brandon Lewis is currently offline Brandon Lewis
Messages: 17
Registered: May 2012
Junior Member
Laurent, thank you for taking time out and trying to help us.

Laurent Goubet wrote on Thu, 04 April 2013 04:06


Without knowing how your models look, how you are launching the comparison, with which repository provider (you talk about SVN, but here you ask for Git?



We are using Subversive. We launch the compare by selecting the top level file, using the context menu Compare With->Latest from Repository... Then selecting "Complete resource set(s)"

We tried to move the data into Git to help us debug if we were hitting an SVN problem or not. We got the same, undersireable, behavior using EGit as well.


Quote:

And by "SVN" are you using Subclipe or Subversive, or maybe another SVN plugin for Eclipse?)


Subversive.

Quote:

and what you expected as a result,



We expected that each dependent file would be compared as well. But we are only getting a compare on the selected file and the mention that the dependent files have been added.

Quote:

Again, I have no idea what your models look like. "added dependency" means that one model now depends on a resource "X" whereas it previously did not. By "depends" I mean that it references it one way or another.


Our references look like this:

<hierarchyRef>../IPXACT_Design/DF_GCC_Design.xml#//@design</hierarchyRef>

From the looks of the "//@", this reference is using the standard URI fragment reference instead of an ID based reference. Gail was interested in knowing if that was part of the issue contributing to SVN's inability to follow the reference.



Quote:

If it did previously reference it (i.e. both sides of the comparison depend on resource "X" somehow), then the diff about a new dependency is indeed bogus. However, if both side reference resource X, but EMF Compare cannot find and load that resource for one side (usually, the "remote" side since we have to load the resource from the repository at the correct revision), then the diff about an added dependency will still be there.


When we see files being listed as an "Added dependency on resource", we have confirmed that both the remote file and the local file already have the reference as formatted above.

Quote:

EMF Compare 2 is already much better on that aspect, even though we are still waiting for EGit to fix some of its comparison actions. Full support of the logical model with EGit is expected for Kepler. SVN may be supported along with Kepler too if we manage to work around the quirks of subversive.


For planning purposes, can you tell us if EMF Compare 2 will require us to upgrade to Eclipse 4.3 (Kepler?) - or can we use EMF Compare 2 with Eclipse 3.8?


Once again, thank you for your help.
Re: Logical model compare (Compare 1.3.1, with SVN) [message #1036560 is a reply to message #1033857] Mon, 08 April 2013 14:41 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent Goubet
Messages: 1635
Registered: July 2009
Senior Member
Hi,

Quote:
From the looks of the "//@", this reference is using the standard URI fragment reference instead of an ID based reference. Gail was interested in knowing if that was part of the issue contributing to SVN's inability to follow the reference.


No, what's interesting for EMF Compare is not the fragment, but the model URI itself. What happened here is most likely that EMF Compare could not resolve "../IPXACT_Design/DF_GCC_Design.xml" on the remote repository.

Quote:
When we see files being listed as an "Added dependency on resource", we have confirmed that both the remote file and the local file already have the reference as formatted above.


Then as expected, it is a bug of EMF Compare. I do not remember well about how that part of the code looked like in 1.3, but you could set a breakpoint in the RevisionedURIConverter#createInputStream() method to check what fails with that URL.

Quote:
For planning purposes, can you tell us if EMF Compare 2 will require us to upgrade to Eclipse 4.3 (Kepler?) - or can we use EMF Compare 2 with Eclipse 3.8?


We try to keep the compatibility chart on the wiki be up to date. EMF Compare 2.1 will be compatible with Eclipse 3.5 through 4.3.

Laurent Goubet
Obeo
Re: Logical model compare (Compare 1.3.1, with SVN) [message #1044033 is a reply to message #1036560] Thu, 18 April 2013 12:12 Go to previous messageGo to next message
Brandon Lewis is currently offline Brandon Lewis
Messages: 17
Registered: May 2012
Junior Member
Laurent Goubet wrote on Mon, 08 April 2013 10:41
Hi,

Quote:
From the looks of the "//@", this reference is using the standard URI fragment reference instead of an ID based reference. Gail was interested in knowing if that was part of the issue contributing to SVN's inability to follow the reference.


No, what's interesting for EMF Compare is not the fragment, but the model URI itself. What happened here is most likely that EMF Compare could not resolve "../IPXACT_Design/DF_GCC_Design.xml" on the remote repository.



Is there anything specifically wrong with the "../IPXACT_Design/DF_GCC_Design.xml" format? Or is this essentially the difficulty with Comapre talking to SVN through subversive?
Re: Logical model compare (Compare 1.3.1, with SVN) [message #1044679 is a reply to message #1044033] Fri, 19 April 2013 07:44 Go to previous message
Laurent Goubet is currently offline Laurent Goubet
Messages: 1635
Registered: July 2009
Senior Member
Hi,

Quote:

Is there anything specifically wrong with the "../IPXACT_Design/DF_GCC_Design.xml" format? Or is this essentially the difficulty with Comapre talking to SVN through subversive?


Nothing wrong with the URI, the problem lies in trying to retrieve the content of that file from the repository through the Team APIs : Subversive partially implements these APIs, so a number of operations fail (at least, last time I looked it wasn't a complete implementation). It may also implement them in a way we did not expect.

We need to debug what's going on, and find a workaround so that we can retrieve the necessary information from subversive.

Laurent Goubet
Obeo
Previous Topic:Diff process on huge file is really long (v2.1.0M6)
Next Topic:[EMF Compare] Ignore order in EMFCompare
Goto Forum:
  


Current Time: Fri Oct 31 18:08:38 GMT 2014

Powered by FUDForum. Page generated in 0.02279 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software