Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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

比較とマージに MATLAB® 比較ツールを使用するために外部のソース管理ツールをカスタマイズできます。ライブ スクリプト、MAT ファイル、SLX ファイル、MDL ファイルなどの MATLAB ファイルをソース管理ツールから比較する場合、MATLAB 比較ツールを開くようにソース管理ツールを構成できます。

MATLAB 比較ツールには、MathWorks® ファイルをマージするためのツールが用意されており、一般的なソフトウェア構成管理システムやバージョン管理システムと互換性があります。

MATLAB を比較とマージ用のアプリケーションとして使用するようにソース管理ツールを設定するには、まず mlDiffmlMerge の実行可能ファイルの絶対パスを特定してから、使用しているソース管理ツールで推奨される手順に従わなければなりません。

MATLAB の比較とマージの絶対パスの特定

必要なファイル パスを取得して、開いている MATLAB セッションを外部のソース管理ツールが再利用できるようにするには、MATLAB で次のコマンドを実行します。

comparisons.ExternalSCMLink.setup()

このコマンドは、[比較] の下にある [比較とマージのために、開いている MATLAB セッションの、外部ソース管理ツールによる使用を許可する] という MATLAB 基本設定を設定します。

このコマンドではファイル パスも表示されるので、これをコピーしてソース管理ツール設定に貼り付けます。

  • Windows® の場合:

    Diff: matlabroot\bin\win64\mlDiff.exe
    Merge: matlabroot\bin\win64\mlMerge.exe
  • Linux® の場合:

    Diff: matlabroot/bin/glnxa64/mlDiff
    Merge: matlabroot/bin/glnxa64/mlMerge

  • Mac の場合:

    Diff: matlabroot/bin/maci64/mlDiff
    Merge: matlabroot/bin/maci64/mlMerge

matlabroot は、インストール場所の絶対パスで置き換えます。たとえば、C:\Program Files\MATLAB\R2020a となります。

メモ

比較とマージの操作では、利用できる場合は開いている MATLAB セッションを使用し、必要なときにのみ MATLAB を開きます。この操作では、指定された MATLAB インストールのみを使用します。

Git との統合

コマンド ライン

コマンド ライン Git™ を使用して MATLAB の比較ツールとマージ ツールを設定するには、次を行います。

  1. ターミナル、コマンド プロンプトまたはシェルで、次のように入力します。

    git config --global --edit

  2. 次の行を .gitconfig ファイルにコピーします。

    [difftool "mlDiff"]
    cmd = 'C:/Program Files/MATLAB/R2020a/bin/win64/mlDiff.exe' $LOCAL $PWD/$REMOTE
    [mergetool "mlMerge"]
    cmd = 'C:/Program Files/MATLAB/R2020a/bin/win64/mlMerge.exe' $PWD/$BASE $PWD/$LOCAL $PWD/$REMOTE $PWD/$MERGED

    ヒント

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

    警告

    .gitconfig ファイルでは、Windows 上であっても、Linux の区切り記号 '/' を使用しなければなりません。

MATLAB の比較ツールとマージ ツールをコマンド ライン Git から実行するには、git difftoolgit mergetool を使用します。

  • MATLAB 比較ツールを使用してモデルの 2 つのリビジョンを比較するには、次のように入力します。

    git difftool -t mlDiff <revisonID1> <revisionID2> myModel.slx

    リビジョンの ID を指定しない場合、git difftool は、作業コピーとリポジトリ コピーを比較します。

    比較対象のモデルを指定しない場合、コマンド ライン Git はすべての変更済みファイルについて、1 つずつ比較するかどうかを尋ねます。

  • MATLAB マージ ツールを使用してモデル内のマージ競合を解決するには、次のように入力します。

    git mergetool -t mlMerge myModel.slx

    マージ対象のモデルを指定しない場合、コマンド ライン Git はすべてのファイルについて、1 つずつマージするかどうかを尋ねます。

SourceTree

SourceTree は、Windows および Mac 用の Git リポジトリを可視化して管理する対話型の GUI ツールです。

MATLAB の比較ツールとマージ ツールを SourceTree の外部ツールとして設定するには、次を行います。

  1. SourceTree を開いた状態で、[Tools][Options] をクリックします。

  2. [Diff] タブの [External Diff / Merge] の下で、各フィールドに次の情報を入力します。

    External Diff tool: Custom
    Diff Command: C:\Program Files\MATLAB\R2020a\bin\win64\mlDiff.exe
    Arguments: $LOCAL $PWD/$REMOTE
    Merge tool: Custom
    Merge Command: C:\Program Files\MATLAB\R2020a\bin\win64\mlMerge.exe
    Arguments: $PWD/$BASE $PWD/$LOCAL $PWD/$REMOTE $PWD/$MERGED

    ヒント

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

MATLAB 比較ツールを SourceTree 内から使用するには、[Unstaged files] の下で変更済みファイルを右クリックして [External Diff] を選択します。

SourceTree がマージ競合を検出したときに MATLAB マージ ツールを使用するには、[Uncommitted changes] ブランチを選択し、変更済みファイルを右クリックして、[Resolve Conflicts][Launch External Merge Tool] を選択します。

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\R2020a\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\R2020a\bin\win64\mlMerge.exe" %base %mine %theirs %merged
  7. [OK] をクリックし、同じ手順を繰り返して別のファイル拡張子を追加します。

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

その他のソース管理ツールとの統合

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\R2020a\bin\win64\mlDiff.exe
    Arguments: %1 %2
    

  4. [Save] をクリックします。

  5. [Preferences] サイドバーで、[Merge] を選択します。[Specify merge application by extension (overrides default)] の下で、[Add] をクリックします。

  6. [Add File Type] ダイアログ ボックスに、次の情報を入力します。

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

  7. [Save] をクリックし、他のファイル拡張子に関して手順を繰り返します。

ヒント

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

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

関連するトピック