自定义外部源代码管理以使用 MATLAB 执行差异分析和合并
您可以自定义外部源代码管理工具,以使用 MATLAB® 比较工具执行差异分析和合并。要通过源代码管理工具来比较 MATLAB 文件(例如 MLX、MAT、SLX 或 MDL 文件),请对源代码管理工具进行配置以打开 MATLAB 比较工具。有关受支持文件的更完整列表,请参阅 visdiff
。MATLAB 比较工具为合并 MathWorks® 文件提供了工具,并且与常用的软件配置管理和版本控制系统兼容。您可以将自动合并工具与 Git™ 结合使用,以自动将包含不同子系统中更改的分支合并在相同的 SLX、SLMX、SLREQX 和 SLTX 文件中。
要将源代码管理工具设置为使用 MATLAB 作为差异分析和合并应用程序,您必须首先确定 mlDiff
、mlMerge
和 mlAutoMerge
可执行文件的完整路径,然后按照您正在使用的源代码管理工具的建议步骤进行操作。
查找 MATLAB 差异分析、合并和自动合并的完整路径
要获取所需的文件路径并启用外部源代码管理工具来重用打开的 MATLAB 会话,请在 MATLAB 中运行以下命令:
comparisons.ExternalSCMLink.setup()
该命令会在比较下设置称为允许外部源代码管理工具使用打开的 MATLAB 会话执行差异分析和合并的 MATLAB 预设项。
此命令还会显示要复制并粘贴到源代码管理工具设置中的文件路径。示例路径包括:
在 Windows® 上:
Diff: matlabroot\bin\win64\mlDiff.exe
Merge: matlabroot\bin\win64\mlMerge.exe
AutoMerge: matlabroot\bin\win64\mlAutoMerge.bat
在 Linux® 上:
Diff: matlabroot/bin/glnxa64/mlDiff
Merge: matlabroot/bin/glnxa64/mlMerge
AutoMerge: matlabroot/bin/glnxa64/mlAutoMerge
在 Mac 上:
Diff: matlabroot/bin/maci64/mlDiff
Merge: matlabroot/bin/maci64/mlMerge
AutoMerge: matlabroot/bin/maci64/mlAutoMerge
其中,matlabroot
将替换为您的安装的完整路径,例如 C:\Program Files\MATLAB\R2020b
。
注意
您的差异分析和合并操作将使用打开的 MATLAB 会话(如果有),并且仅在必要时打开 MATLAB。这些操作仅使用指定的 MATLAB 安装。
与 Git 的集成
与 SVN 的集成
TortoiseSVN
使用 TortoiseSVN,您可以根据文件扩展名自定义您的差异分析和合并工具。例如,要对 SLX 文件使用 MATLAB 差异分析和合并工具,请执行下列步骤:
在任何文件资源管理器窗口中右键点击,然后选择 TortoiseSVN > Settings 以打开 TortoiseSVN 设置。
在 Settings 边栏中,选择 Diff Viewer。点击 Advanced 以根据文件扩展名指定差异分析应用程序。
点击 Add,并在字段中填写扩展名和
mlDiff
可执行文件路径:Filename, extension or mime-type: .slx External Program: "C:\Program Files\MATLAB\R20xxb\bin\win64\mlDiff.exe" %base %mine
点击 OK,重复相同步骤来添加另一个文件扩展名。
在 Settings 边栏中,选择 Diff ViewerMerge Tool。点击 Advanced 以根据文件扩展名指定合并应用程序。
点击 Add,并在字段中填写扩展名和
mlMerge
可执行文件路径:Filename, extension or mime-type: .slx External Program: "C:\Program Files\MATLAB\R20xxb\bin\win64\mlMerge.exe" %base %mine %theirs %merged
点击 OK,重复相同步骤来添加另一个文件扩展名。
现在,您可以使用 MATLAB 工具进行差异分析和合并,就像您使用 TortoiseSVN 默认差异分析和合并应用程序一样。
注意
不支持使用 SVN 自动合并二进制文件,如 SLX 文件。
与其他源代码管理工具的集成
Perforce P4V
使用 Perforce® P4V,您可以根据文件扩展名自定义您的差异分析和合并工具。要对 SLX 文件使用 MATLAB 差异分析和合并工具,请执行下列步骤(此处仅为示例):
在 Perforce 中,点击 Edit > Preferences。
在 Preferences 边栏中,选择 Diff。在 Specify diff application by extension (overrides default) 下,点击 Add。
在 Add File Type 对话框中,输入以下信息:
Extension: .slx Application: C:\Program Files\MATLAB\R20xxb\bin\win64\mlDiff.exe Arguments: %1 %2
点击保存。
在 Preferences 边栏中,选择 Merge。在 Specify merge application by extension (overrides default) 下,点击 Add。
在 Add File Type 对话框中,输入以下信息:
Extension: .slx Application: C:\Program Files\MATLAB\R20xxb\bin\win64\mlMerge.exe Arguments: %b %2 %1 %r
点击 Save,并对其他文件扩展名重复上述步骤。
提示
自定义 mlDiff
和 mlMerge
可执行文件的完整路径,以匹配 MATLAB 安装和您正在使用的操作系统。有关详细信息,请参阅查找 MATLAB 差异分析、合并和自动合并的完整路径。
您可以使用 MATLAB 工具进行差异分析和合并,就像您使用 Perforce 的默认差异分析和合并应用程序一样。
相关主题
- 比较文件和文件夹以及合并文件
- Automatically Merge Models (Simulink)
- Configure Git Environment to Merge Requirement and Linkset Files (Requirements Toolbox)
- 比较和合并 MAT 文件
- 从比较报告合并 Simulink 模型 (Simulink)