Hi Capella team!
When rebasing with eGit a model edited with Capella 1.2.0, the merge tool fails with an exception due to the systematic use of premerged aird/melodymodeller files:
it seems that eGit doesn’t honor the preference
Team > Git > Merge tool content: Last HEAD (unmerged).
Is it a known behavior? Is there a workaround or am I missing something?
Thanks for your help,
Hi Capella team!
Our efforts have focused on merge rather than rebase, I guess that is why we overlooked this issue. It may seem odd to see that the file is pre-merged despite your preference, but apparently this is OK - it does not prevent EGit from sending the correct input to the diff/merge tool.
The issue is rather in the integration of EGit. I have had a look, logged the problem (
https://bugs.eclipse.org/bugs/show_bug.cgi?id=532614) and pushed a patch.
My tests are OK, are you willing to test on your side and state whether this issue seems fixed? You can download the update site on the link below, just select the EGit integration feature.
https://ci.eclipse.org/diffmerge/job/emf-diffmerge-core-mast er/lastSuccessfulBuild/artifact/releng/org.eclipse.emf.diffm erge.update/target/org.eclipse.emf.diffmerge.update-0.9.0-SN APSHOT.zip
FYI, we also have an open issue about deletions that can sometimes appear as conflicting in 3-way comparisons, e.g., during conflicting rebase operations (
Thank you Olivier!
I will test your patch ASAP.
I have retested git merge/rebase on Capella yesterday. Your patch solves the issue with rebase: thanks!
During the tests I have made the following observations:
Simple changes and conflicts can be managed: local changes in a node or node’s attributes, additions, deletions and replacements without conflict.
Merging conflicting diagrams is almost impossible without a graphical overview.
Conflicting disturbances in hierarchies are almost impossible to manage: e.g when an intermediate node in a hierarchy (functional breakdown, etc.) has been replaced on one branch and its children have been modified on another branch, it seems impossible to keep the new intermediate node and the modifications on children.
Sometimes, merging/rebasing is not a matter of left vs right choice but rather requires some manual extra modifications. I don’t know how to proceed in this case.
Globally, the rebase/merge process remains tricky. I guess you are already working on a few of these topics if not all
Yes, we have made similar observations. And yes, we have a number of ideas of improvements and we are working on some of them (suggestions welcome, of course).
Only, about your issue “Conflicting disturbances in hierarchies”: can you elaborate your scenario a bit? It is unclear to me whether you are referring to a limitation of the tool or an HMI issue.
Sorry, I am using your topic to post my question because the title is adapted.
I am trying to use Git with Capella, but Diff visualization crashes like described in
I think the problem comes from the fact I can’t install EMF Diff/Merge correctly. Here is a screenshot of the installation error I got:
But I do not understand what is actually wrong and how to fix it. I just tried to follow the installation insctructions described in the
Help Contents of Capella.
Can anybody help me please ?
I understood that I have another installation of EMF Diff/Merge, version 0.9, as I can see it there :
But I don’t know why this is installed on my system, and I don’t know how to uninstall it. Any help would be appreciated
EMF DiffMerge is the default diff and merge tool of Capella, that explains why you have it in your platform.
Apparently you are using Capella 1.2.x but if I read the embedded Capella documentation (Capella Guide / User Manual / Configuration Management with Git) I have the feeling you are trying to install an “old” version of EGit (the one corresponding to the version 1.1 of Capella).
This might be the problem.
The idea is to add the EGit integration feature of the EMF Diff/Merge version that is already present in your Capella.
In this case, as you found out this is version 0.9.0.
The update site is located here (I replaced “0.7.0” by “0.9.0” in the URL you tested):
Does that solve the problem?
Thank you a lot ! Installing the EGit integration feature from
http://download.eclipse.org/diffmerge/releases/0.9.0/emf-dif fmerge-site/ was the correct thing to do !
If I am not mistaken, the integrated documentation in Capella is not up to date, as it still concerns the version 1.1 and thus gives the wrong version for EMF Diff/Merge. Is there somewhere I should notify this issue ?
And just to be sure, the version of EGit to install is the same for Capella 1.1 and 1.2, right ?
Strictly speaking, the Help is not really wrong in the sense that it provides the URL for the 1.1 version as an example; but it is indeed not very helpful. I guess we should find a way for users to easily get the right version without bothering about version numbers. Anyway, please feel free to open a bug against the Capella Documentation component.
With Capella 1.2 you can use any version of EGit from 3.6.0 inclusive to 5.0.0 exclusive. The Help recommends to use a specific version because it is not possible to know in advance whether the next version of EGit will remain compatible (e.g., we now know that v5.0.0 expected in June 2018 will not). I guess the Help could be a bit less restrictive and mention the range of versions that is known to be compatible at the time of writing. FYI Capella 1.3 will certainly be compatible with a broader range of versions, from 3.6.0 to 5.0.0 (and hopefully greater) inclusive.
The Eclipse platform for Capella 1.3.0 is Oxygen.
Oxygen embeds egit : org.eclipse.egit.gitflow.feature_184.108.40.206712150930-r.jar
- updatesite available @
- Zip available @
http://www.eclipse.org/downloads/download.php?file=/egit/upd ates-4.9.2/org.eclipse.egit.repository-220.127.116.11712150930-r. zip
For Diffmerge egit:
The Capella 1.3.0 embeds diffmerge 0.11.0
- Update available @
- Zip available @