我们在一个由几个开发人员组成的团队中使用Matlab Simulink进行模型开发(和实时研讨会自动编码)。
我们目前使用Visual Source Safe (是的,我知道它很可怕)进行版本控制,使用锁来防止冲突的更改。
我们希望将我们的程序迁移到不同的版本控制系统(svn、hg或git),但我们担心在Simulink .mdl文件上执行合并和差异。
是否有人有在Simulink文件上执行合并的有用经验?
发布于 2009-11-24 23:14:50
Simulink模型文件的文本合并将很困难。这是一个article,它提供了使用Simulink时配置管理的一些信息。
至于差异,在Simulink报告生成器中有一个差异工具,名为I believe in R2008b+。这是该功能文档的link。
麦克
发布于 2010-03-13 08:23:49
SimDiff将执行您所需的操作。您可以将其与您喜欢的任何软件配置管理/版本控制系统配对。
Mike引用的2007年SAE论文是在SimMerge (后来更名为SimDiff 4)推出之前编写的。现在,您可以为您的Simulink项目使用现代软件配置管理系统,如AccuRev或IBM Unified Change management。
至少有两篇较新的论文取代了2007年的论文。来自Xilinx的示例确切地展示了如何将SimDiff与SVN/Subversion集成。
来自Xilinx
披露:我在2005-2015年间参与了SimDiff的开发。
发布于 2009-11-25 20:24:56
正如前面提到的,Mathworks正在为Simulink开发差分工具,基本上是将它们导出到XML文件中,然后进行比较。尽管我不认为这会比任何现有的版本控制系统更有助于合并文件。
我已经开始在MATLAB代码和Simulink模型中使用Mercurial。它在一些相当大的simulink模型上工作得又好又快,但作为一个开发人员,我还没有处理任何复杂的合并。简单的比较和合并通常会引发几个冲突,这些冲突只不过是语法更改,通常是日期戳和版本号。
我的建议是,如果可能的话,使用模型引用。我有一个很大的模型,它基本上使用模型引用链接了六个子模型。每个子模型都处于版本控制之下,并且只有一个开发人员负责一个子模型,因此它回避了合并不同simulink模型时的许多问题。
https://stackoverflow.com/questions/1788646
复制相似问题