| Summary: | Support for logical models in EGit | ||
|---|---|---|---|
| Product: | [Technology] EGit | Reporter: | Benjamin Muskalla <b.muskalla> |
| Component: | UI | Assignee: | Benjamin Muskalla <b.muskalla> |
| Status: | NEW --- | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | laurent.goubet, markus.kell.r, matthias.sohn, robin.rosenberg |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Bug Depends on: | 354474, 375084, 375086, 346450, 348060 | ||
| Bug Blocks: | |||
|
Description
Benjamin Muskalla
One thing that comes to my mind is the case where a logical model only maps to part of a file and requires special code to compute a diff. Some modeling tools would fit into this category. Is that what you have in mind? Yep, this is part of the whole story. This week, I'll provide the first step for supporting logical models by considering them in the commit operations to define the scope which files need to be commited as part of a change. Regarding the special diff, we have to look into this, depending on the team support we have. From what I can see now, logical models only operate on a file level (eg. when you commit File A, then you need File B too). The special diff could be interesting when merging changes. I pushed an example project for logical models to https://github.com/bmuskalla/logical_models Pushed RFC as http://egit.eclipse.org/r/#change,3615 Remaining issues: * unstaged changes are not included, see task 346632 Pushed * http://egit.eclipse.org/r/#change,3615 * http://egit.eclipse.org/r/#change,3812 * http://egit.eclipse.org/r/#change,3813 Pushed changes related to logical model merges * http://egit.eclipse.org/r/#change,3874 (JGit) * http://egit.eclipse.org/r/#change,3875 (EGit) Matthias, here are some notes regarding testing the changes: Setup • Use patches from Gerrit • Clone EMF Compare Git Repo: http://git.eclipse.org/gitroot/emfcompare/org.eclipse.emf.compare.git • Import projects • org.eclipse.emf.compare • org.eclipse.emf.compare.diff • org.eclipse.emf.compare.logical • org.eclipse.emf.compare.logical.ui • org.eclipse.emf.compare.match • org.eclipse.emf.compare.ui Use these + EGit for a self-hosted runtime instance. * Workflows with EMF Compare ** Clone example project: https://github.com/bmuskalla/logical_models ** Import project, use EMF subfolder Resource scoping * Change both files, try the following commands on one of the files ** Commit, Add, Replace ** These should help to to select the right resource set to operate on (eg. both modified, both should be committed) (In reply to comment #7) > Matthias, here are some notes regarding testing the changes: > > Setup > > • Use patches from Gerrit > • Clone EMF Compare Git Repo: > http://git.eclipse.org/gitroot/emfcompare/org.eclipse.emf.compare.git > • Import projects > • org.eclipse.emf.compare > • org.eclipse.emf.compare.diff > • org.eclipse.emf.compare.logical > • org.eclipse.emf.compare.logical.ui this doesn't compile : The method createTypedElement(EObject) of type LogicalModelCompareInput must override a superclass method LogicalModelCompareInput.java /org.eclipse.emf.compare.logical.ui/src/org/eclipse/emf/compare/logical/ui line 54 Java Problem > • org.eclipse.emf.compare.match > • org.eclipse.emf.compare.ui this doesn't compile: Bundle 'org.eclipse.emf.ecore.editor' cannot be resolved MANIFEST.MF /org.eclipse.emf.compare.ui/META-INF line 16 Plug-in Problem The type org.eclipse.jface.viewers.Viewer cannot be resolved. It is indirectly referenced from required .class files ParameterizedStructureMergeViewerCreator.java /org.eclipse.emf.compare.ui/src/org/eclipse/emf/compare/ui/viewer/structure line 1 Java Problem > > Use these + EGit for a self-hosted runtime instance. > > * Workflows with EMF Compare > ** Clone example project: https://github.com/bmuskalla/logical_models > ** Import project, use EMF subfolder > > Resource scoping > > * Change both files, try the following commands on one of the files > ** Commit, Add, Replace > ** These should help to to select the right resource set to operate on (eg. > both modified, both should be committed) any hints which dependencies I am missing ? I am using Eclipse SDK 3.7.0 I just used an Indigo Modeling package as target platform to test these things, might be easier for get all dependencies right. Adding Laurent if he has some insights on the compilation problems. I know for sure that we never commit something that does not compile (lest we pay chocolates to all of the team :p). Jokes aside ... The latest code from master should compile on both Helios and Indigo. The most likely depedency you're missing is EMF (from the update manager, either "Helios" or "Indigo" update sites : "Modeling > EMF - Eclipse Modeling Framework SDK"). Installing that will at least solve the "org.eclipse.emf.ecore.editor missing" issue. As for the first issue (method must override...), I believe it is one and the same : "EObject" cannot be resolved (comes from EMF) and thus the Java compiler does not "see" the override properly. installing Eclipse Modeling Framework SDK was sufficient to fix the compile problems Thanks Matthias for reviewing these things, very much appreciated! |