Subversion and mdl files

Hello
Does anybody know how to have real "merge" action between two .mdl files? Specifically if you are using subversion version control how can we handle a .mdl file share between two users? Thanks

 Respuesta aceptada

Stuart Bowman
Stuart Bowman el 3 de Nov. de 2011

1 voto

There is a third-party application known as SimMerge (<http://www.ensoftcorp.com/SimMerge/Overview.gen.html>) that is quite helpful for this. (I'm a user, not affiliated with the company.) It's a bit expensive, but well worth the cost if working on a team. It supports two- and three-way diff and merging as you would expect with any other source code management tool.

1 comentario

Carlo Marques
Carlo Marques el 3 de Nov. de 2011
Thanks Stuart. I did look into the SimMerge tool and it should od the trick. Probaly will only be able to implement it next year as the cost, as you said, is high.

Iniciar sesión para comentar.

Más respuestas (4)

Jarrod Rivituso
Jarrod Rivituso el 1 de Abr. de 2011

1 voto

Hi Carlo,
I'm not aware of a way to do this. However, an alternative would be to break apart your model into multiple .mdl files and use model reference to combine them. This would allow different users to work on their own separate pieces of the model, and not have to worry about merging later.
This approach is also useful in that it allows you to test smaller components of your model individually.
Hope this helps! -Jarrod

1 comentario

Jarrod Rivituso
Jarrod Rivituso el 8 de Abr. de 2011
Hi Carlo,
Check out the release notes for the latest version of Simulink (look under "Model Management"):
http://www.mathworks.com/products/simulink/whatsnew.html

Iniciar sesión para comentar.

Carlo Marques
Carlo Marques el 1 de Abr. de 2011

0 votos

Hello Jarrod,
Thanks for the hint. It's not what I am looking for, even though it would limit the impact.
Best Regards Carlo marques
Mark
Mark el 4 de Abr. de 2011

0 votos

In general, doing text merges on ".mdl" files doesn't go well, so I would strongly advise against this. The primary issue is that text in ".mdl" files isn't as "local" as text in a regular source code file would be. As a result, text in one part of a model file may also influence the meaning of text elsewhere in the model. It isn't as convenient, to be sure, but it is probably best to configure your version-control system to treat ".mdl" files as binary even though they are text-based.

4 comentarios

Carlo Marques
Carlo Marques el 4 de Abr. de 2011
I totally agree with not treating mdl files like text. I am searching something like SimDiff ad-on for Subversion.
There's a tool called ecVERSIM, but this resorts to brute force (by limiting model access to one editor user). That's not very smart.
The IKV's medini tool looks quite promising. Apparently it can be integrated into Subversion for solving conflicts, but don't actually know how much it costs.
Mark
Mark el 5 de Abr. de 2011
I haven't used either of those tools before, but limiting access to one user seems like something you could do with locks in Subversion without buying anything extra.
MATLAB/Simulink has a feature that converts models to XML and then shows two panes to illustrate changes made to the model, but this is a much more manual process. Nonetheless, the fact that we convert the model to XML first illustrates the fact that the ".mdl" format is probably not the best for comparing (and implicitly, merging) model files.
Unfortunately, there is no way to *import* the XML back to ".mdl" files after the comparison. (We stay with the ".mdl" format because it works better for loading, saving, and most things other than comparing.)
Walter Roberson
Walter Roberson el 8 de Abr. de 2011
I see that the new 2011a highlights include,
Merge capability for Simulink models from the XML text comparison in Simulink Report Generator™
That _sounds_ to provide the missing mechanism.
Jarrod Rivituso
Jarrod Rivituso el 8 de Abr. de 2011
Walter, I really wish I could vote up a comment :)

Iniciar sesión para comentar.

Frederic Vartanian
Frederic Vartanian el 28 de Mzo. de 2012

0 votos

medini unite also provides SIMULINK model merge capabilities. It can be integrated in a number of SCM tools, such as CVS, SVN, ClearCase, Visual Source Safe and more. You can request a trial here http://www.ikv.de/mediniunite/

Categorías

Más información sobre Simulink Environment Customization en Centro de ayuda y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by