Skip to main content
AgeCommit message (Collapse)AuthorFilesLines
2019-09-25Re-enable signing and tycho-p2-plugin, switch website to antrunHEADmasterlgoubet4-38/+12
See bug 551450. The wrong zip file ends up being used as the build artifact for the documentation plugin when using maven-assembly-plugin. Using maven-antrun plugin instead allows us to workaround the issue and have EMF Compare's doc plugin be signed correctly. Change-Id: Ib6656920ea2b5fea6be03b338d61a8ad0abebbca
2019-09-25Build testing - disable eclipse jarsignerlgoubet1-2/+1
Change-Id: I65873722f4cd630d3e5b1645c259757324560286
2019-09-24EMF Compare documentation jar is unsignedlgoubet1-1/+2
It looks like the wrong file is taken up by tycho (the website doc zip instead of the plugin jar) for the update site. Change-Id: I6334cd1d67b5e0eb4eb38ffd00e9c0e8d7cb36bc
2019-09-19Replace Guava with Java 83.3.9M1lgoubet11-50/+258
Change-Id: I6ea95640fae46cbe38645df215424062db13be9b
2019-09-19Potential race condition when loading EPackages for comparisonlgoubet1-0/+21
Bug:551217 Change-Id: I8e372530b00f1c45751b36a889153980fde7429d
2019-09-19Potential NPE with some implementations of the property sheet pageslgoubet1-1/+5
Bug: 551217 Change-Id: I94ddcc8fd0f42d69b5cece0989a40b6e54fe2dbb
2019-09-19Some implementations of Resource.Diagnostic may return null locationslgoubet1-1/+2
This happens with Sirius' ResourceVersionMismatchDiagnostic at the time of commit. Bug: 551217 Change-Id: I4c86fc83c7e52cc9d1007269cc7d909fa45e6e15
2019-09-19EMF Compare does not support relative xsi:schemaLocation declarationslgoubet1-0/+3
Bug:551217 Change-Id: Idd4e6bea34f3f789c6e35f632f8a5e8c0a283a9b
2019-09-19API compatibilitylgoubet1-2/+25
commit 89b43a837714f3b6315e07dd93a57617a9ce848c broke API compatibility by removing this constructor. Change-Id: Ibb940c3ca11fef14b6195147921d9b7ba2f3c140
2019-09-18Remove part of guava useslgoubet11-240/+233
Change-Id: Ifb6e5b5bf391d540b3738b501c68221065a21a1b
2019-09-18Bump to 3.3.9lgoubet1-1/+1
Change-Id: I71dcf57ca08878c2a46e8d2f594500a2048c2c2b
2019-09-18Open the compare navigatable as internal APIlgoubet1-1/+1
Change-Id: Iea9a2f5d540aa9d350a4a801da80f250bef77cb2
2019-09-18Register the navigatable so that the toolbar actions worklgoubet1-0/+1
Navigation actions from the toolbar to go to the next/previous differences were not working without this. Change-Id: I3747597c32044868bcbebf524306a1e06f7dd494
2019-09-17The navigatable's cache needs to be cleared when we refresh the viewerlgoubet1-0/+10
Change-Id: I7e16183de757efce233ae000d7ac4c0f276ac218
2019-09-16The MatchEngineFactory doesn't make use of its setterslgoubet1-19/+15
Change-Id: Icf5c78c5637cbab24469823970cbe4adaa85fd33
2019-09-16Happy checkstylelgoubet15-85/+297
Change-Id: I5b7586a2d5ff8a5f91004fe47e150724a8175812
2019-09-10Target platform based on 2019-063.3.8RC13.3.8lgoubet1-2/+2
We need to switch to tycho 1.4.0 to build against such a platform Change-Id: I8adc6e212801a736c6d293a6b5269b03edc00377
2019-09-10Behavior change in 2019-06 - Exceptions are now in the diagnosticlgoubet1-30/+31
Change-Id: I83f2abc82fd4beb30d321d501fd864bef5e63c9b
2019-09-06Index issue when merging non-unique attributes' elements3.3.8M7lgoubet1-0/+7
Change-Id: Ic05460d8df2adf2b95d376d651eb03061b50cdad
2019-09-06Diffs depending on pseudo-conflicts do not reject the other sidelgoubet3-8/+15
When a diff directly or indirectly requires or implies the merging of a diff that is part of a pseudo conflict, it should not require the rejection of the other side's diffs since a pseudo conflict is something that exists in both sides of the comparison. Change-Id: I97c25caf71b128a7bf302ff48c26859cea10a44b
2019-09-06MOVE differences also need to take into account the FeatureFilterlgoubet1-3/+16
Containment moves may have (in)significant ordering as well, so we need to check what the FeatureFilter tells us on those Change-Id: I97f2a5f90db3483f3965a13e4dbc1df2d2ad7453
2019-09-06Inaccurate conflict detection for moves in non-containment featureslgoubet2-8/+16
Change-Id: Iea6f9979d2e4b07b9b34ce594fe653eaaca40594
2019-09-06Moves with non-unique values and addition/deletions of duplicateslgoubet2-20/+48
We cannot always ignore the "moved" values when computing the LCS. ADD and DELETE of duplicates of the moved one need to be taken into account. Change-Id: I5e97b89ae34f9dfd1ef7b9db69c1bf7feb3a5f54
2019-09-06Only MOVE diffs need to be ignored when computing the LCSlgoubet1-4/+6
Change-Id: Ie85c73f5f69d6fcde26e3023963f3f3fa72a999d
2019-09-04Conflict detection on index changes must take FeatureFilter into accountlgoubet9-19/+139
Change-Id: I5300af5342fcefb01aeee618a133e30933e9c4d2
2019-09-04Make sure the UI won't try to compute the LCS for huge listslgoubet4-16/+20
Change-Id: If5c456fb90063919d927edfd9f07012ee5bbb55c
2019-08-30The "accept/reject" all non-conflicting action shouldn't touch conflilts3.3.8M6lgoubet3-26/+57
Change-Id: I7977fcf32e86c86f75369563d438bf3f7abdc628
2019-08-30Fix diff, conflict detection and merging of non-unique attributeslgoubet61-199/+1770
Non-unique multi-valued attributes had been completely ignored during the conception of EMF Compare and thus every step of the process was failing. Change-Id: I09c7ff8cf3eee5fff6c76128a3142a29acb15987
2019-08-28Potential out of bounds exceptionlgoubet3-5/+5
EList.move cannot be called with an index equal to the list's size. Change-Id: Ia05a7bff2b6312ab07925bdea78145bc27d72214
2019-08-27Compatibility with jgit
Change-Id: Ic1fabd9bad94e5ef6634d5fa6176744ec4b1ae7b
2019-08-22Performance - use DiffCrossReferencer when possiblelgoubet1-5/+35
References with a large amount of elements (5k or more) with a lot of differences (1k or more) grind the comparison performances to a halt. When possible, make use of the DiffCrossReferencer to only iterate over the set of relevant differences instead of the whole set of differences on the current match. Change-Id: If80ef7cac5e0e573df78ed902a6b49f2fbcc7211
2019-08-22regression - right-click actions on single diff selections not shownlgoubet1-0/+2
Change-Id: Ifc3bacb3e055488c4a4d79d9566b1d61a7d1b6ef
2019-08-06Open SMV API to allow implementers to access the raw list of children3.3.8M4lgoubet1-3/+29
Change-Id: Ifa9eb1ddd4d0f65ed7305966fc4cf28f851ed637
2019-08-06Prevents exceptions from being thrown from the viewer refreshlgoubet1-20/+151
AdapterFactoryEditingDomain#isStale(Object) throws one exception per item expanded in the EMF Compare structure merge viewers. For large models, this can go up to tens of thousands of exception for each refresh, significantly slowing down the merge operations. These exceptions are thrown but directly caught and swallowed, so we can circumvent them altogether. Change-Id: I924364cbd8b9a8727ba8a80e7a40218c4edc2923
2019-08-05Performance - use streams instead of guava iterations/concatenationlgoubet13-134/+103
Change-Id: I7164c42ddd79d0a0061ff70ea01899da75bcf429
2019-08-05Performance - remove useless guava transformationlgoubet1-59/+13
Change-Id: I2cb63b62ae898628e58ec66a0ae88e01e80c4493
2019-07-23549477 - NPE in TreeNodeItemProviderSpec.getChildren3.3.8M3Michael Keppler1-0/+3
Add a guard condition to handle missing difference group provider more gracefully. Bug: 549477 Change-Id: I8a84dce5c6df8694d79b520fdf43b6e900197492 Signed-off-by: Michael Keppler <>
2019-07-22[549463] Save fails when content merge viewer swappedChristian W. Damus1-3/+4
Don't redundantly mirror when saving the merge result. Change-Id: I0b862bf928a6e3266041df0a9c98355ae24f9be8 Signed-off-by: Christian W. Damus <>
2019-07-17[522080] [UML] Add-add conflicts in stereotype application not detectedChristian W. Damus23-6/+744
Two changes in the UML post-processor to handle apply-apply and unapply-unapply conflicts for stereotype applications on the same element in both sides of the comparison: * re-match left- and right-side additions/removals of stereotype applications to match the same stereotype applied to the same element even though the XMI IDs are different * generate the attribute diffs in added stereotype applications that the default diff engine refuses to do, so that we may find conflicts in differing attribute values in the conflict phase (references are handled by the core) Bug: 522080 Change-Id: I4daac02414abc3f275ac9ff19d6a460b43a0fe84 Signed-off-by: Christian W. Damus <>
2019-07-17Fix detection of pseudo conflicts on single-valued attribute changeslgoubet10-10/+131
Pseudo-conflicts on single-valued attribute changes was populated with the origin as the changed value even if the left/right side was non-null. Change-Id: Id225da76bb381a476715c9af9581cd0bc2b9e47a
2019-07-16Regression on the group/match right-click actions in SMWlgoubet1-2/+2
Commit df841999 allowed "accept" and "reject" actions to be shown on multiple differences selections... but at the same time prevented all other actions from showing in the SMV. Change-Id: I9ec9b2e4e216a8985dd5ee7eb9d11aa22d1f09ab
2019-07-16Properly describe what the conflict resolving actions will do.lgoubet1-2/+2
Change-Id: I31b1c4d777c8a84d3c782e4e4eae700116babccf
2019-07-16[506928] ComparisonScopeEditorInput does not respect configuration3.3.8M2Martin Fleck6-5/+172
Initialize comparison input with comparison configuration. Includes tests. Bug: 506928 Change-Id: I39c07e0093211170a81aba07fe082d0aafc74afa Also-by: Tobias Ortmayr <> Signed-off-by: Martin Fleck <>
2019-07-16Cancel Faster in ProximityEObjectMatcherStefan Dirix1-6/+22
When the given Monitor indicates 'Cancel' the ProxmityEObjectMatcher will return faster. Signed-off-by: Stefan Dirix <> Change-Id: Ie767d059be1ab6f1f4d5979098d0d237b3476cc8
2019-07-16Add StructureMergeViewer customization optionslgoubet2-38/+70
Improves support for Subclasses of EMFCompareStructureMergeViewer by changing access modifiers and adding Getters for some private variables. Although the code is not intended to be subclassed there exist subclasses with small modifications in the wild. This commit allows those subclasses to access a little more of the internal mechanism of the EMFCompareStructureMergeViewer. Signed-off-by: Stefan Dirix <> Change-Id: I7d96b189dd6624a90925d674606a56481681f528
2019-07-16Shortcut the UMLPostProcessor's subset implications when possiblelgoubet1-4/+10
Change-Id: If34c91faa268518d989b5e6a2c0717f61f82aad6 Signed-off-by: Martin Fleck <>
2019-07-16Activation of all Git testsAxel Richard13-1207/+36
This removes the StrategyRecursiveModelTests since they can no longer work after we locked the target models to the single EMFModelProvider (see LogicalModels.getEMFModelProvider()). Change-Id: I200b614a1c64b9a4cd9600a43f3d0473d5108e69 Also-by: Axel Richard <> Signed-off-by: Mathieu Cartaud <>
2019-07-16Prevent NPE from overriden Resource implementationslgoubet2-7/+13
Some resource implementations fail to consider "null" input as the options map for "doSave" and end up in NullPointerExceptions. Change-Id: Ie38dff790ac4ed7b1763fc5a8290f610216add8e
2019-07-16Ignore "originalTargetObjects" from the EMF Compare change recorderlgoubet2-33/+112
This is the same performance workaround that has been used by EMF Transaction in the TransactionChangeRecorder. Each individual "accept" or "reject" of a difference will trigger the "consolidateChanges" call on the ChangeRecorder. As the size of the "originalTargetObjects" list depends on the size of the compared models, creating a copy of this list every time we merge is a huge performance sink. Change-Id: Ie597fdbd0d2734963a152c0fdf3099457b1668ef
2019-07-10Bump versions to
Change-Id: I1fdea8b2deb42916ee25689914386fc9b4880bbd

Back to the top