Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] Fwd: Next step for model support in EGit and EMFCompare

Thank you Matthias for your answer,

My answers below.

BR

Laurent Delaigue (@laurentdelaigue)


---------- Forwarded message ----------
From: Matthias Sohn <matthias.sohn@xxxxxxxxx>
Date: Fri, May 29, 2015 at 12:57 PM
Subject: Re: Next step for model support in EGit and EMFCompare
To: Laurent Delaigue <laurent.delaigue@xxxxxxx>
Cc: Maximilian Kögel <mkoegel@xxxxxxxxxxxxxxxxx>, Philip Langer <planger@xxxxxxxxxxxxxxxxx>, Christian Halstrick <christian.halstrick@xxxxxxxxx>


On Wed, May 20, 2015 at 9:53 AM, Laurent Delaigue <laurent.delaigue@xxxxxxx> wrote:
Hi Matthias,

We are currently working to make sure that the changes we need in EGit will not affect "standard" users (i.e. those who don't use EMF Compare).
In order to achieve that, here is what we have in mind:

- Create a new extension point "modelMergeStrategy" in EGit, to let third parties provide MergeStrategy implementations to support the team model concept.
- Move the preference "useLogicalModel" from egit.ui to egit.core
- Add a preference which will allow users to select the modelMergeStrategy they want to use among the registered ones, only if the property "useLogicalModel" is true. For the time being, there would be none for non EMFCompare users (in which case the RecursiveMergeStrategy will be used by default), and our RecursiveModelMergeStrategy for EMFCompare users. In the future, we can imagine that other 3rd parties can provide other strategy implementations.

We think that this will have 2 benefits:
- Guarantee no impact on non-EMFCompare users
- Allow us to provide custom MergeStrategy implemented inside EMFCompare, which will spare you numerous reviews and overhead

How does that sound to you?

sounds good to me

Can we do this in a way that the configured strategy is only used if logical models are involved in the merge and use the default recursive merger otherwise ?

What we can do is make sure the default recursive merge is used if the preference "Allow models (e.g., Java, EMF) to participate in synchronizations" is not checked by the user (which will be the default?), and also if there is no installed extension for this new extension point.
If users check this preference, a merger that supports logical models must be used.
Our implementation will delegate to the default recursive merger for every resource that is not part of a model.


I think we need to wait for an extension point to be added to close it.


cc'ing the list to allow others in the community to comment on your proposal

Good idea, comments and ideas are very welcome!


Sorry for the delayed response, I was pretty busy last weeks

-Matthias 



_______________________________________________
egit-dev mailing list
egit-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/egit-dev


Back to the top