人在仿真软件万博1manbetx

万博1manbetxSimulink &基于模型的设计

Simulink项目中的冲突管理万博1manbetx

本周我们欢迎来自Simulink项目开发团队的客座博主Tim Hosey。万博1manbetx

介绍

在这篇博文中,我将重点介绍如何做到这一点万博1manbetx仿真软件项目可以用来管理当两个用户使用源代码控制工具向同一个Simulink模型提交更改时发生的冲突。万博1manbetx

当两个用户对同一个文件进行更改时,就会产生冲突。第一个向源代码控制系统提交更改的用户没有遇到任何问题,但是第二个用户的更改被认为与第一个用户的更改冲突;因此,源代码控制工具会阻止第二个用户提交他们的文件,直到他们将自己的更改合并到第一个用户的文件版本中。

环境设置

为了展示如何用Simulink项目执行冲突解决,我设置了我们的修改版本万博1manbetx机身演示

我创建了两个工作副本,分别名为demo1和demo2,它们是从运行上述演示创建的SVN存储库中检出的。用户1将使用文件夹demo1,用户2将使用文件夹demo 2。

两个用户,两个工作副本

这里是一个截图,当用户1在工作副本demo1中打开他们的项目副本时,项目看起来像什么。

最初的项目

二进制情况

我已经设置了SVN配置文件来考虑slx文件的二进制,请参阅我们的文档如何设置SVN的源代码控制

该项目包含一个名为vertical_channel的模型。SLX是这样的:

初始模型

用户1修改了这个模型,改变了求和块和反馈增益的符号,这样它现在看起来像这样:

用户1修改的模型

然后用户1使用修改文件视图提交他的更改。

从用户1提交修改的模型

这个微小的更改很容易进行并提交到SVN存储库,但是正如我们将要看到的,当用户2对这个文件的副本进行更改时,提交更改将会困难得多。

用户2没有执行任何更新,因此他的项目看起来与用户1更改之前的项目相同。

用户2打开垂直渠道模型,并添加一个范围到他的模型,它看起来像这样:

用户2的修改模型

当用户2尝试提交时,他们得到以下错误:

错误提交失败

这个错误告诉他,他没有最新版本的vertical_channel。所以他不能提交他的更改。为了获得最新的版本,他执行了一次更新。这将导致一个问题,因为他的工作副本中的更改与用户1提交的存储库中已有文件的版本和最新版本之间所做的更改冲突。用户2的更改现在与用户1提交到存储库的更改发生冲突。项目将此文件标记为冲突用户2的项目。

冲突

因为我们将.slx文件注册为SVN的二进制文件,所以SVN更新没有尝试更改文件vertical_channel的内容。Slx,它仍然包含了用户2在原始模型的基础上增加的范围。

用户2可以使用Simulink万博1manbetx Project解决冲突,方法如下:

  1. 首先,用户需要查看冲突,他可以通过在Simulink项目的文件上下文菜单中右键单击文件并选择“视图冲突”来做到这一点。万博1manbetx如果万博1manbetx仿真软件报告生成器安装一个万博1manbetxXML模型比较将用于显示用户1的模型版本和用户2的模型版本之间的冲突。

    模型比较
  2. 然后,用户2可以轻松地选择并合并用户1的更改,这些更改将包含在他们的文件版本中。

    模型合并
  3. 一旦用户2对合并后的文件感到满意,他可以在项目的文件上下文菜单中右键单击该文件,并选择“标记冲突解决”。现在,冲突的文件被标记为已修改的,可以提交到SVN存储库。

    冲突解决

当用户1执行更新时,他将在工作副本中获得合并的模型:

最后合并模型

现在轮到你了

你经常需要合并Simulink模型吗?万博1manbetx请留下留言让我们知道这里的评论

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。