Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » Best practices: versioning .ecore files
Best practices: versioning .ecore files [message #655739] Tue, 22 February 2011 14:31 Go to next message
Christian Huelsmeier is currently offline Christian HuelsmeierFriend
Messages: 12
Registered: September 2010
Junior Member
Hello,

in our project we're working with an .ecore file we generate code from (Xpand-based generator with ecore.ecore as metamodel).
In the beginning of the project there was only one developer working with the model and the .ecore file was put to the projects SVN repository.
Now there are a couple of developers working concurrently on that model and it's getting harder to cope with concurrent model changes since SVN only works with xml comparision.

Are there any best practices for versioning of and concurrently working with .ecore files?
I took a look at EMFStore and I think that it looks pretty cool, but as far as I can see it's for working with models based on my model (defined in .ecore file).
I also took a look at CDO, but it seems to me that it's designed for similar use cases like covered by EMFStore.

Is there "something on top of SVN", so that we're able to still store the file in SVN, but get merge support in a more convenient was?

Greets,

Christian
Re: Best practices: versioning .ecore files [message #655782 is a reply to message #655739] Tue, 22 February 2011 15:45 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 22.02.2011 15:31, schrieb Christian Huelsmeier:
> Hello,
>
> in our project we're working with an .ecore file we generate code from (Xpand-based generator with ecore.ecore as metamodel).
> In the beginning of the project there was only one developer working with the model and the .ecore file was put to the projects SVN repository.
> Now there are a couple of developers working concurrently on that model and it's getting harder to cope with concurrent model changes since SVN only works with xml comparision.
>
> Are there any best practices for versioning of and concurrently working with .ecore files?
> I took a look at EMFStore and I think that it looks pretty cool, but as far as I can see it's for working with models based on my model (defined in .ecore file).
> I also took a look at CDO, but it seems to me that it's designed for similar use cases like covered by EMFStore.

Recently we've added support for storing instances of Ecore just like instances of other models. Please note that certain backend stores (like the DBStore) require that you declare your intent to store Ecore instances in the cdo-server.xml:

<property name="supportingEcore" value="true"/>

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Re: Best practices: versioning .ecore files [message #655866 is a reply to message #655739] Tue, 22 February 2011 22:05 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jconlon.apache.org

Hi Christian,

I too am interested in hearing an answer from the more experienced and
knowledgeable EMFers out there regarding your question...

Just read Kenn and Marcello's EclipseCon 2009 Modeling tutorial
'Building Restful Java Applications with EMF'
http://www.eclipsecon.org/2009/sessions?id=272
which contain many best practices for modeling and persisting EMF
models. There are a couple that are oriented toward versioning of.ecore
files as well.

Have you looked at EMFCompare?

cheers,
John

Christian Huelsmeier wrote:
> Hello,
>
> in our project we're working with an .ecore file we generate code from
> (Xpand-based generator with ecore.ecore as metamodel).
> In the beginning of the project there was only one developer working
> with the model and the .ecore file was put to the projects SVN repository.
> Now there are a couple of developers working concurrently on that model
> and it's getting harder to cope with concurrent model changes since SVN
> only works with xml comparision.
>
> Are there any best practices for versioning of and concurrently working
> with .ecore files?
> I took a look at EMFStore and I think that it looks pretty cool, but as
> far as I can see it's for working with models based on my model (defined
> in .ecore file).
> I also took a look at CDO, but it seems to me that it's designed for
> similar use cases like covered by EMFStore.
>
> Is there "something on top of SVN", so that we're able to still store
> the file in SVN, but get merge support in a more convenient was?
>
> Greets,
>
> Christian
Re: Best practices: versioning .ecore files [message #656746 is a reply to message #655739] Mon, 28 February 2011 12:06 Go to previous messageGo to next message
Maximilian Koegel is currently offline Maximilian KoegelFriend
Messages: 253
Registered: July 2009
Senior Member
Hi Christian,

EMFStore is capable of versioning and storing any EMF-based Model
including Ecore itself. However from a user perspective we believe an
integration with your (source code) team provider such as SVN or Git
would be very beneficial.
With the current state of EMFStore you can import a model into the
EMFStore and use its versioning and merging capabilities. EMFStore
supports interactive merging of EMF-based models, so you will only need
to resolve conflicting changes to merge. If you want to generate code
you can export to an .ecore file again.
We are currently working on an integration of EMFStore with SVN and GIT.
(see this blog post:
http://unicase.blogspot.com/2010/11/how-to-version-ecore-fil es.html).
This will integrate the EMFStore-hosted Ecore models as files into your
project/package explorer. Also an update/commit on your project will
also trigger an update/commit on the EMFStore-hosted ecore file. We hope
to release a beta version for the EclipseCon.
If you would like to test an alpha, please let me know!

Cheers,
Maximilian



Am 22.02.2011 15:31, schrieb Christian Huelsmeier:
> Hello,
>
> in our project we're working with an .ecore file we generate code from
> (Xpand-based generator with ecore.ecore as metamodel).
> In the beginning of the project there was only one developer working
> with the model and the .ecore file was put to the projects SVN repository.
> Now there are a couple of developers working concurrently on that model
> and it's getting harder to cope with concurrent model changes since SVN
> only works with xml comparision.
>
> Are there any best practices for versioning of and concurrently working
> with .ecore files?
> I took a look at EMFStore and I think that it looks pretty cool, but as
> far as I can see it's for working with models based on my model (defined
> in .ecore file).
> I also took a look at CDO, but it seems to me that it's designed for
> similar use cases like covered by EMFStore.
>
> Is there "something on top of SVN", so that we're able to still store
> the file in SVN, but get merge support in a more convenient was?
>
> Greets,
>
> Christian
Re: Best practices: versioning .ecore files [message #659317 is a reply to message #655866] Sat, 12 March 2011 06:50 Go to previous messageGo to next message
Christian Huelsmeier is currently offline Christian HuelsmeierFriend
Messages: 12
Registered: September 2010
Junior Member
Hi John,

yes, I took a look at EMFCompare and basicly in most cases it's working for us. Meanwhile our problem with many developers working on one .ecore file has been solved by defining some processes and conventions.
Now we are coming into a phase where we are creating models on top of our .ecore file (now as meta model).
I will have a deeper look at EMFStore now.

Christian

Re: Best practices: versioning .ecore files [message #659318 is a reply to message #656746] Sat, 12 March 2011 07:03 Go to previous message
Christian Huelsmeier is currently offline Christian HuelsmeierFriend
Messages: 12
Registered: September 2010
Junior Member
Maximilian Koegel wrote on Mon, 28 February 2011 07:06

We are currently working on an integration of EMFStore with SVN and GIT.
(see this blog post:
http://unicase.blogspot.com/2010/11/how-to-version-ecore-fil es.html).
This will integrate the EMFStore-hosted Ecore models as files into your
project/package explorer. Also an update/commit on your project will
also trigger an update/commit on the EMFStore-hosted ecore file. We hope
to release a beta version for the EclipseCon.
If you would like to test an alpha, please let me know!



Hi Maximilian,

yes, I'm interested in testing and using your SVN integration.
I also read your blog some weeks ago, but didn't find any plugins or documentation.
Is it still stable? I really need a reliable solution.

Christian


Previous Topic:EMF Editor and CrossReference
Next Topic:Multiple branch merging in CDO
Goto Forum:
  


Current Time: Thu Apr 25 00:45:34 GMT 2024

Powered by FUDForum. Page generated in 0.03635 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top