‹ バージョン管理の設定

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 です。

設定

  1. sourcetree-simdiff.zip をダウンロードします。
  2. 解凍したファイルをお使いの ToolSelector ディレクトリにコピーします(デフォルトでは C:\Program Files\EnSoft\SimDiff\utils\toolselector)。
  3. 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
差分タブの SourceTree オプションで、外部差分ツールとマージツールが Custom に設定され、ToolSelector のコマンドが赤枠で示されています。

注意

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

使用方法

モデルの 2 つのバージョンの間の差分を確認するには、外部差分をクリックします。SourceTree が SimDiff を開きます。図は、ステージされていないファイルをリポジトリ内のコピーと比較する場合の操作を示しています。

ステージされていない aero_radmod.mdl の SourceTree ファイルメニューで、外部差分が強調表示されています。

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

dev ブランチの SourceTree 履歴メニューで、マージに番号 1 が付いています。dev を現在のブランチにマージするか確認する SourceTree のマージ確認ダイアログで、OK に番号 2 が付いています。

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

コンフリクトした aero_radmod.mdl の SourceTree メニューで、コンフリクトを解決と外部マージツールの起動に番号 3 が付いています。

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

test_repo 内の aero_radmod.mdl に対する SourceTree の「ウィンドウを開いてマージ処理中」ダイアログが、マージツールを終了するまではマージ処理は終了しないと示しています。SimDiff Team が aero_radmod をマージしており、Actual Speed が選択され、その Value は出力とベースで 400、右側のモデルで 500 になっていて、番号 4 が付いています。

SimDiff を使用して変更をマージします。終わったら、Simulink のウィンドウからモデルを保存し、SimDiff を閉じます。

コミットされていない変更のブランチを選択し、マージしたファイルを右クリックして、コミットします。

コミットされていない変更の下でステージされた aero_radmod.mdl の SourceTree メニューで、コミットに番号 5 が付いています。

別のクライアントを使用する場合は、バージョン管理の設定をご参照下さい。

ご質問、または修正のご希望はありますか?

どのようなご用件ですか?