Main Content

MATLAB を比較とマージに使用するための外部ソース管理のカスタマイズ

MATLAB® 比較ツールを比較とマージに使用するように、外部ソース管理ツールをカスタマイズできます。MLX ファイル、MAT ファイル、SLX ファイル、MDL ファイルなどの MATLAB ファイルをソース管理ツールから比較するには、MATLAB 比較ツールが開くようにソース管理ツールを構成します。サポートされるファイルの詳細な一覧については、visdiff を参照してください。MATLAB 比較ツールには、MathWorks® ファイルをマージするためのツールが用意されており、一般的なソフトウェア構成管理システムやバージョン管理システムと互換性があります。この自動マージ ツールを Git™ と共に使用して、同じ SLX ファイル、SLMX ファイル、SLREQX ファイル、SLTX ファイル内に異なるサブシステムの変更を含むブランチを自動的にマージできます。

MATLAB を比較とマージ用のアプリケーションとして使用するようにソース管理ツールを設定するには、まず mlDiffmlMerge および 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 との統合

 コマンド ライン

 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 Viewer][Merge 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] をクリックし、他のファイル拡張子に関して手順を繰り返します。

ヒント

mlDiff および mlMerge の実行可能ファイルの絶対パスを、使用しているMATLAB インストールとオペレーティング システムの両方に一致するようにカスタマイズします。詳細については、MATLAB による比較、マージおよび自動マージのための絶対パスの検出を参照してください。

これで、MATLAB の比較ツールとマージ ツールを、Perforce の既定の比較アプリケーションとマージ アプリケーションと同様に使用できます。

関連するトピック