SimDiff を使用して Simulink と Stateflow を git + SourceTree と統合する
外部差分を実行するか、外部マージツールを起動すると、SourceTree は ToolSelector を通じて SimDiff を開きます。
Git は分散バージョン管理システムです。主なインターフェースはコマンドラインです。SourceTree は、そのコマンドライン上で使うグラフィカルなクライアントです。以下の手順で、SourceTree 向けに SimDiff を設定します。
このクライアントは ToolSelector を使用します。ToolSelector は、ファイルタイプなどの入力引数から、設定されたツールを選択する弊社のユーティリティです。ToolSelector User Guide.pdf は ToolSelector のディレクトリにあります。デフォルトでは、そのディレクトリは C:\Program Files\EnSoft\SimDiff\utils\toolselector です。2020a.2 よりも古いバージョンの SimDiff を使用する場合、ディレクトリは C:\Program Files\EnSoft\SimDiff\utils\toolselector-20120215-1803 です。
設定
sourcetree-simdiff.zipをダウンロードします。- 解凍したファイルをお使いの ToolSelector ディレクトリにコピーします(デフォルトでは
C:\Program Files\EnSoft\SimDiff\utils\toolselector)。 - SourceTree の外部差分ツールとマージツールを、次のように設定します。
- SourceTree を開きます。
- ツールをクリックし、次にオプションをクリックします。
- 差分タブ内の外部差分 / マージのセクションに、下の図のように次の内容を入力します。
外部差分ツール: Custom
- 差分コマンド:
C:\Program Files\EnSoft\SimDiff\utils\toolselector\toolselector.exe - 引数:
-profile=2way $PWD $LOCAL $REMOTE
マージツール: Custom
- 差分コマンド:
C:\Program Files\EnSoft\SimDiff\utils\toolselector\toolselector.exe - 引数:
-profile=3way-merge $PWD $MERGED $REMOTE $BASE $LOCAL

注意
- SimDiff と ToolSelector がデフォルトの場所にない場合は、上の手順 3 に記載した差分コマンドとマージコマンドのパスを変更します。
- ToolSelector が SimDiff ディレクトリ内のデフォルトの場所にない場合は、
simdiff4.exeへの正しい絶対パスまたは相対パスでsimdiff-cd.batを更新します。 - マージの一部として 3 方向差分を使用します。3 方向差分は、2 つのバージョンの間でどこが異なるかと、各変更がどのモデルに由来するかを示します。3 方向差分は SimDiff のすべてのエディションに含まれています。
使用方法
モデルの 2 つのバージョンの間の差分を確認するには、外部差分をクリックします。SourceTree が SimDiff を開きます。図は、ステージされていないファイルをリポジトリ内のコピーと比較する場合の操作を示しています。

SourceTree がマージコンフリクトを検出したときにも、SimDiff が起動します。以下の手順では、ブランチをチェックアウトされているブランチへマージします。マージするブランチを右クリックし、図に従います。


マージコンフリクトがある場合は、コミットされていない変更のブランチを選択し、コンフリクトしているファイルを右クリックして、コンフリクトを解決、次に外部マージツールの起動を選択します。

SourceTree は次のダイアログを表示し、変更をマージするために SimDiff を開きます。


SimDiff を使用して変更をマージします。終わったら、Simulink のウィンドウからモデルを保存し、SimDiff を閉じます。
コミットされていない変更のブランチを選択し、マージしたファイルを右クリックして、コミットします。

別のクライアントを使用する場合は、バージョン管理の設定をご参照下さい。
ご質問、または修正のご希望はありますか?
ありがとうございます。
このページについての内容を受け取りました。
