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 13:35  |
Eclipse User |
|
|
|
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 #1033423 is a reply to message #1033067] |
Thu, 04 April 2013 04:06   |
Eclipse User |
|
|
|
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 04:06] by Moderator
|
|
|
Re: Logical model compare (Compare 1.3.1, with SVN) [message #1033857 is a reply to message #1033423] |
Thu, 04 April 2013 14:23   |
Eclipse User |
|
|
|
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 10:41   |
Eclipse User |
|
|
|
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 #1044679 is a reply to message #1044033] |
Fri, 19 April 2013 03:44  |
Eclipse User |
|
|
|
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
|
|
|
Goto Forum:
Current Time: Mon Jul 14 12:23:46 EDT 2025
Powered by FUDForum. Page generated in 0.09144 seconds
|