Main Content

自定义外部源代码管理以使用 MATLAB 执行差异分析和合并

您可以自定义外部源代码管理工具,以使用 MATLAB® 比较工具执行差异分析和合并。要通过源代码管理工具来比较 MATLAB 文件(例如 MLX、MAT、SLX 或 MDL 文件),请对源代码管理工具进行配置以打开 MATLAB 比较工具。有关受支持文件的更完整列表,请参阅 visdiff。MATLAB 比较工具为合并 MathWorks® 文件提供了工具,并且与常用的软件配置管理和版本控制系统兼容。您可以将自动合并工具与 Git™ 结合使用,以自动将包含不同子系统中更改的分支合并在相同的 SLX、SLMX、SLREQX 和 SLTX 文件中。

要将源代码管理工具设置为使用 MATLAB 作为差异分析和合并应用程序,您必须首先确定 mlDiffmlMergemlAutoMerge 可执行文件的完整路径,然后按照您正在使用的源代码管理工具的建议步骤进行操作。

查找 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 的集成

 命令行

 SourceTree

与 SVN 的集成

TortoiseSVN

使用 TortoiseSVN,您可以根据文件扩展名自定义您的差异分析和合并工具。例如,要对 SLX 文件使用 MATLAB 差异分析和合并工具,请执行下列步骤:

  1. 在任何文件资源管理器窗口中右键点击,然后选择 TortoiseSVN > Settings 以打开 TortoiseSVN 设置。

  2. Settings 边栏中,选择 Diff Viewer。点击 Advanced 以根据文件扩展名指定差异分析应用程序。

  3. 点击 Add,并在字段中填写扩展名和 mlDiff 可执行文件路径:

    Filename, extension or mime-type: .slx
    External Program: "C:\Program Files\MATLAB\R20xxb\bin\win64\mlDiff.exe" %base %mine
  4. 点击 OK,重复相同步骤来添加另一个文件扩展名。

  5. Settings 边栏中,选择 Diff ViewerMerge Tool。点击 Advanced 以根据文件扩展名指定合并应用程序。

  6. 点击 Add,并在字段中填写扩展名和 mlMerge 可执行文件路径:

    Filename, extension or mime-type: .slx
    External Program: "C:\Program Files\MATLAB\R20xxb\bin\win64\mlMerge.exe" %base %mine %theirs %merged
  7. 点击 OK,重复相同步骤来添加另一个文件扩展名。

现在,您可以使用 MATLAB 工具进行差异分析和合并,就像您使用 TortoiseSVN 默认差异分析和合并应用程序一样。

注意

不支持使用 SVN 自动合并二进制文件,如 SLX 文件。

与其他源代码管理工具的集成

Perforce P4V

使用 Perforce® P4V,您可以根据文件扩展名自定义您的差异分析和合并工具。要对 SLX 文件使用 MATLAB 差异分析和合并工具,请执行下列步骤(此处仅为示例):

  1. 在 Perforce 中,点击 Edit > Preferences

  2. Preferences 边栏中,选择 Diff。在 Specify diff application by extension (overrides default) 下,点击 Add

  3. Add File Type 对话框中,输入以下信息:

    Extension: .slx
    Application: C:\Program Files\MATLAB\R20xxb\bin\win64\mlDiff.exe
    Arguments: %1 %2
    

  4. 点击保存

  5. Preferences 边栏中,选择 Merge。在 Specify merge application by extension (overrides default) 下,点击 Add

  6. Add File Type 对话框中,输入以下信息:

    Extension: .slx
    Application: C:\Program Files\MATLAB\R20xxb\bin\win64\mlMerge.exe
    Arguments: %b %2 %1 %r

  7. 点击 Save,并对其他文件扩展名重复上述步骤。

提示

自定义 mlDiffmlMerge 可执行文件的完整路径,以匹配 MATLAB 安装和您正在使用的操作系统。有关详细信息,请参阅查找 MATLAB 差异分析、合并和自动合并的完整路径

您可以使用 MATLAB 工具进行差异分析和合并,就像您使用 Perforce 的默认差异分析和合并应用程序一样。

相关主题