代码之家  ›  专栏  ›  技术社区  ›  Jon Mills

具有多个开发人员的Matlab Simulink版本控制

  •  13
  • Jon Mills  · 技术社区  · 15 年前

    我们使用MatlabSimulink在几个开发人员的团队中进行模型开发(和实时车间自动编码)。

    我们希望将程序迁移到不同的版本控制系统(svn、hg或git),但我们关心的是在Simulink.mdl文件上执行合并和差异。

    有没有人有在Simulink文件上执行合并的有用经验?

    8 回复  |  直到 15 年前
        1
  •  6
  •   MikeT    15 年前

    Simulink模型文件的文本合并将很困难。这是一个 article 它提供了使用Simulink时有关配置管理的一些信息。

    至于差异,Simulink报告生成器中有一个差异化工具,我相信R2008b+。这里有一个 link

    迈克

        2
  •  6
  •   rob    8 年前

    SimDiff

    至少有两篇较新的论文取代了2007年的论文。Xilinx中的一个演示了如何将SimDiff与SVN/Subversion集成。

    披露:2005-2015年,我参与了SimDiff的开发。

        3
  •  3
  •   Adrian    15 年前

    如前所述,Mathworks正在为Simulink开发差异化工具,基本上是将它们导出为XML文件,然后进行比较。虽然我不相信这将有助于合并文件比任何现有的版本控制系统可以。

    我已经开始使用 Mercurial 对于我们的MATLAB代码和Simulink模型。它在一些相当大的simulink模型上运行良好且快速,但作为一名开发人员,我还没有处理过任何复杂的合并。简单的差异和合并通常会引发一些冲突,这些冲突只不过是语法更改,通常是日期戳和版本号。

        4
  •  3
  •   Nzbuu    13 年前

    Mathworks建议使用 Simulink Projects ,这在R2011b中是新的。见 Seth on Simulink blog

    Simulink项目将MATLAB/Simulink与您的版本控制系统集成,并提供附加功能。

        5
  •  3
  •   Ned Twigg    12 年前

    DiffPlug可以图形化地区分Simulink文件,并集成到SVN和Git中。它有一个命令行界面,所以您也可以将它与SourceSafe集成。。。

    http://www.diffplug.com/products/dp.simulink.differ

        6
  •  2
  •   user289001 user289001    15 年前

    Xilinx最近发布了一份 app note 详细说明如何使用SimDiff和SimMerge配置Subversion,以用于基于团队的Simulink模型开发。

    从应用程序说明:

        7
  •  1
  •   Marc    15 年前

    虽然我没有具体的经验,但svn可以很好地处理非文本文件。您有两个选择:

    1. auto-props feature 或者使用svn propset手动设置属性。它不会尝试合并,在发生冲突的签入时,将需要操作员操作以解决差异。
    2. 将您的存储库设置为锁定存储库,如VSS(请不要使用火焰)。这是一个很好的例子 step-by-step guide .
        8
  •  1
  •   Olaf Irmscher    15 年前

    请看一看 http://www.ikv.de/mediniunite/ 也许这有助于解决你的问题。 借助medini unite,我们为Matlab/Simulink/Stateflow提供了一个有用的Diff/Merge工具,该工具非常易于使用,当然也可以集成到不同版本的控制系统中。