Project Plan For EMF Compare, version 2.1.0
Introduction
Release Deliverables
- EMF Compare source code release, available as versions tagged with "R2_1" in the project's GIT repository.
- EMF Compare SDK, which includes runtime, sources, examples, and documentation, and is available as a download or on the update site.
- EMF Compare binary distribution, available as a download or on the update site.
Release Milestones
| 2.1M5 | 02/08/2013 | available with Kepler M5 |
| 2.1M6 | 03/22/2013 | available with Kepler M6 |
| 2.1M7 | 05/10/2013 | available with Kepler M7 |
| 2.1RC1 | 05/24/2013 | available with Kepler RC1 |
| 2.1RC2 | 05/31/2013 | available with Kepler RC2 |
| 2.1RC3 | 06/07/2013 | available with Kepler RC3 |
| 2.1RC4 | 06/14/2013 | available with Kepler RC4 |
| 2.1 | 06/26/2013 | available with Kepler |
Target Environments
Eclipse Platform SDK 4.3 will be tested and validated on a number of reference platforms.
EMF Compare will be tested and validated against a subset of those listed for the platform.
Given that there is no operating system dependent code in EMF Compare, it's expected that EMF Compare will work anywhere the Eclipse Platform does.
Internationalization
The English strings are provided as the default resource bundles.
Similarly, the EMF Compare project will externalize all its user interface elements, provide English strings for them in its default bundles, and localize a subset of the locales offered by the Platform.
The download page will provide the details as they become available.
Compatibility with Previous Releases
As such, the project's API is not compatible with its previous 1.* versions. Version 2.1 brings few API breakages and new features but is mostly compatible with 2.0 version. A migration guide will be provided in order to ease the adoption effort to this new version.
EMF Compare is developped with and targets the following projects :
- Eclipse Platform SDK version 4.3
- EMF Core 2.9
Themes and Priorities
A list of project goals and agreed upon implementation time frames is found in this document.
For the milestones listed in this document, a set of overall themes is used to indicate what major set of functionalities is expected to be the focus of each.
These themes are presented below, while the goals of the associated Bugzilla entries are available for more detailed information.
Not all plan items represent the same amount of work; some may be quite large, others, quite small. Although some plan items are for work that is more pressing than others, the plan items appear in no particular order. See the corresponding bugzilla items for up-to-date status information on ongoing work and planned delivery milestones.
The current status of each plan item is noted:
- Committed plan item - A committed plan item is one that we have decided to address for the release. In bugzilla, this is reflected by having a concrete target milestone assigned (but not equals to "Kepler").
- Proposed plan item - A proposed plan item is one that we are considering addressing for the release. Although we are actively investigating it, we are not yet in a position to commit to it, or to say that we won't be able to address it. After due consideration, a proposal will either be committed or deferred. In bugzilla, such items are reflected by having a target milestone "Kepler" assigned.
- Deferred plan item - A reasonable proposal that will not make it in to this release for some reason is marked as deferred with a brief note as to why it was deferred. Deferred plan items may resurface as committed plan items at a later point. In bugzilla, such items are reflected by having a target milestone "---" or a post Kepler target version assigned (e.g., Kepler SR1).
Core
- Version 2.1 results 'compare' very unfavourably with Version 1.3 [394668] (target milestone: Kepler M6)
- Ignore reference order when merging [399596] (target milestone: Kepler M7)
- NotSerializableException when attempting to save the comparison model [402421] (target milestone: Kepler M7)
- Save does not work after certain merge operations [406626]
(target milestone: Kepler M7) - EMF compare should handle contributions changes [205420]
(target milestone: Kepler M5) - Add a 'namespacePattern' attribute on EMF Compare extension points [296701]
(target milestone: Kepler M5) - Conflicting ecore content type [318408]
(target milestone: Kepler M5) - Conflicts are not tested for extLibrary*.ecore [381143]
(target milestone: Kepler M6) - IndexOutOfBoundException when merging [388759]
(target milestone: Kepler M5) - GenericDiffEngine does not handle EAttributes of type EFeatureMap$Entry correctly [389584]
(target milestone: Kepler M5) - Cross-references not added during merge [390788]
(target milestone: Kepler M5) - Renaming detected instead of addition / deletion [391657]
(target milestone: Kepler M5) - elements with reference changes are not matched anymore [391798]
(target milestone: Kepler M5) - [EMF Compare UML] NoClassDefFoundError org.eclipse.emf.compare.uml2.UMLComparePackage$Literals [396618]
(target milestone: Kepler M5) - Extension point for filters and groups [398358]
(target milestone: Kepler M5) - Provide a merge extension mechanism [398863]
(target milestone: Kepler M6) - EMF Compare should provide an UI-independant RCP plugin [399264]
(target milestone: Kepler M6) - Diff merging time increases exponentially [399361]
(target milestone: Kepler M5) - Extensible mergers [400221]
(target milestone: Kepler M6) - Reordering not recognized [400412]
(target milestone: Kepler M6) - [compare] Adjust API to be able to read the description of a difference [401440]
(target milestone: Kepler M6) - [deps] update import-pacakge dependencies for guava [401595]
(target milestone: Kepler M6) - Provide a match engine extension mechanism [403055]
(target milestone: Kepler M6) - Ordering post processors. [403187]
(target milestone: Kepler M6) - NullPointerException in UMLProfileApplicationChangeFactory [403423]
(target milestone: Kepler M6) - Deadlock during model resolving [403425]
(target milestone: Kepler M6) - EcoreUtil.convertToString() is called if attribute is not serializeable [403543]
(target milestone: Kepler M6) - platform:/plugin/org.eclipse.emf.compare.uml2/model/uml2diff.genmodel is missing [404088]
(target milestone: Kepler M6) - Provide an adapter factory extension mechanism [404274]
(target milestone: Kepler M7) - Respect the "ordered" status of containment references. [405000]
(target milestone: Kepler M7) - Undo doesn't work after a merge [405720]
(target milestone: Kepler M7) - start method should call super [406524]
(target milestone: Kepler M7)
- ChangeModel to DiffModel [292409] (target milestone: ---)
- Differencing distinct Metamodels fails for elements with different number of attributes [303052] (target milestone: ---)
- [Performance] Setting up a performances measures and non regression project [353980] (target milestone: ---)
- Resources Level cross referencer [361534] (target milestone: Kepler SR1)
- Child matches appear as top-level matches [390907] (target milestone: ---)
- Better handling of UML subset/superset/union features [398402] (target milestone: Kepler SR1)
- NPE when you attempt to merge a ResourceAttachmentChange between models in the same local folder [403802] (target milestone: ---)
- Move of Resource Content not detected [405861] (target milestone: ---)
- We need a way to rollback merge operations [406101] (target milestone: ---)
- A macroscopic change has to be created for UML DirectedRelationship elements [406405] (target milestone: ---)
- EMF Compare does not support list with null values [406439] (target milestone: ---)
- Merge failure with type arguments [406516] (target milestone: ---)
- Pseudo conflict detected as real conflict [408097] (target milestone: ---)
User Interface
- The structure merge viewer should not unload all resources at dispose time [396260] (target milestone: Kepler M7)
- Phantom display of removed graphical items [400816] (target milestone: Kepler M7)
- Enhance markers of graphical comparison [401526] (target milestone: Kepler M7)
- [EMF Compare] having the comparison progress bar as a background operation [199166]
(target milestone: Kepler M7) - The save action does not work in a content merge viewer different from TableContentMergeViewer [398405]
(target milestone: Kepler M7) - Copy All Non-Conflicting Changes action does not work [398412]
(target milestone: Kepler M7) - ConcurentModificationException after a merge of a difference in a Group [401870]
(target milestone: Kepler M7) - Merge sub diffs when filter "Sub diffs elements" is active. [402536]
(target milestone: Kepler M6) - java.net.URISyntaxException if the file compared as a space in its path [403438]
(target milestone: Kepler M7) - Copy all right to left doesn't do anything. [406445]
(target milestone: Kepler M7) - Textual merge does not set dirty state [406536]
(target milestone: Kepler M7) - Cannot merge after saving [406548]
(target milestone: Kepler M7) - Display Bug. Defective update of window [206461]
(target milestone: Kepler M5) - EMF Compare doesn't allow editing model when opened in EGit Merge Tool [366553]
(target milestone: Kepler M5) - Properties views are not appropriate when comparing large string attributes [378352]
(target milestone: Kepler M5) - Paint problem with the "diff rectangles" [392568]
(target milestone: Kepler M7) - The MatchResource items displayed in the UI have their text trimmed too much [396257]
(target milestone: Kepler M5) - Allow the editing of textual attribute [398083]
(target milestone: Kepler M5) - Enhance readability of the structural differences [398099]
(target milestone: Kepler M5) - Provide content merge viewer for resource attachment changes [398360]
(target milestone: Kepler M5) - Control/Uncontrol differences are not detected from the user interface [398887]
(target milestone: Kepler M7) - NPE when switching from TextMergeViewer to another merge viewer [399229]
(target milestone: Kepler M5) - Save as "emfdiff" does not work with local (or scm) history [399270]
(target milestone: Kepler M6) - Let new actions be contributed to the StructureMergeViewer through extension points [399273]
(target milestone: Kepler M7) - Fragments are not resolved when comparing from the UI [399652]
(target milestone: Kepler M5) - CompareEditorInput doesn't work anymore [400234]
(target milestone: Kepler M6) - New filters and trees under groups [401659]
(target milestone: Kepler M6) - Expand and collapse structure merge viewer and content merge viewer sides [401854]
(target milestone: Kepler M7) - Display unresolved differences number in the 3-way comparison group [401873]
(target milestone: Kepler M6) - Improve the description of the features [402450]
(target milestone: Kepler M6) - NullPointerException in SaveComparisonModelAction [403434]
(target milestone: Kepler M7) - Cannot save the merge of two models if the comparison is not launched directly on the models themself [403436]
(target milestone: Kepler M7) - Update Conflicts group arborescence. [404541]
(target milestone: Kepler M7) - StackOverFlow error when merging a diff [405274]
(target milestone: Kepler M7) - NPE when expanding sub-differences [405885]
(target milestone: Kepler M7) - Diff not selected in TreeViewer [406201]
(target milestone: Kepler M7) - Item doesn't collapse after slecting a new diff [406310]
(target milestone: Kepler M7) - SingleStructuralFeature Item doesn't highlight when selecting in StructureMergeViewer [406401]
(target milestone: Kepler M7) - Allow selection of the "placeholders" [406513]
(target milestone: Kepler M7) - Edition of textual differences [406537]
(target milestone: Kepler M7) - NPE when using groups [406539]
(target milestone: Kepler M7) - Diff not selected in content viewers [406540]
(target milestone: Kepler M7) - Compare with > each other <EObject> cannot merge [406541]
(target milestone: Kepler M7) - CCM with merge all [406634]
(target milestone: Kepler M7) - Undo unavailable after two consecutive "merge all" [406644]
(target milestone: Kepler M7) - In-line editing [193946]
(target milestone: Kepler M5)
- Next Difference button doesn't select the next difference [400424] (target milestone: Kepler)
- Merge current change doesn't select the next difference. [400691] (target milestone: Kepler)
- memory leak on the -many- CommandStackListener [396256] (target milestone: Kepler)
- ChangeRecoder with EditingDomain [398311] (target milestone: Kepler)
- Labels missing on Types of Classes of external resources [398423] (target milestone: Kepler)
- No refresh of the Structure Merge Viewer after setting a textual value [398503] (target milestone: Kepler)
- Saving the comparison model does not refresh the workspace [401816] (target milestone: Kepler)
- Improve Diff Message for UML link, to precise the nature of the change [353320] (target milestone: ---)
- EMF Compare re-serialize himself the models when using the text compare viewer [389523] (target milestone: Kepler SR1)
- Model merge UI [398361] (target milestone: Kepler SR1)
- More accessible merge actions [398366] (target milestone: Kepler SR2)
- CSS handling for Papyrus [398367] (target milestone: Kepler SR2)
- Allow Displaying properties of selected elements [398738] (target milestone: Kepler SR1)
- Double-clicking a group should expand instead of opening empty panes [404811] (target milestone: ---)
- UI does not detect invalid models [405273] (target milestone: ---)
- sub-differences are not highlighted [405887] (target milestone: ---)
- Refresh issue when switching on differences from different diagrams [406412] (target milestone: ---)
- Provide collapse all command in Structure [406443] (target milestone: ---)
- IndexOutOfBoundsException when select a diff in the structure merge viewer [408233] (target milestone: ---)
- EMF Compare saves automatically when switching editors [196827] (target milestone: ---)
Diagram Comparison
- Remove the detection of label changes for GMF diagram comparison [398488]
(target milestone: Kepler M6)
- Remove the detection of label changes for GMF diagram comparison [398488]
- No items.
Team and Team providers integration
- No items.
- No items.
Appendix Legal Notices
- Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- All other products or company names are mentioned for identification purposes only, and may be trademarks or service marks of their respective owners.
