モデルの差分比較とマージ・Git運用支援ツール
LemonTree 紹介セミナー
モデルの差分比較とマージ・Git運用支援ツール LemonTreeは、Enterprise Architectで作成したモデルの差分をダイアグラム上で確認しながらマージできるツールです。Gitを利用したモデルの分散・並行設計を実現するためにも利用できます。このセミナーでは、LemonTreeの知っておくべき基本的な機能・操作について紹介します。さまざまな機能の概要とその位置づけを紹介しますので、既にLemonTreeを利用している方にも有用な内容です。
特に、Git利用の際に必須となるツールであり、このセミナーでは実際に遠隔地でGitとLemonTreeを利用して変更設計する状況を、2名でデモいたします。
このセミナーの内容は、このページから動画でご覧いただけます。「有償追加サポート」の1つであるセミナー実施でこのセミナーの内容を実施できます。
セミナー内容
LemonTreeの操作・機能をデモで紹介します。
- LemonTreeの概要
- LemonTreee利用の2つのユースケース
- 差分比較を支援する機能の紹介・デモ
- Git利用のデモ (TortoiseGit+LemonTree)
- コンポーネントベースの設計
(バージョン3.0で追加された、MPMS機能の紹介)
セミナー動画
(Git連携の部分は7月7日のセミナーの録画です。それ以外は再収録しました。)
スライド資料
質疑応答
2021年7月7日に実施したセミナーでのご質問とその回答です。
- ThreeWayマージの方法の説明は2名での作業でしたが、この内容を拡張して4人、5人と並列変更者が増えた場合でも同様に対応可能なのでしょうか?
- 対応可能です。Git運用に関する説明をご覧ください。
- また、バージョン管理システムを使わない場合でも運用にはよりますが、最新のマージファイル(マスターファイル)・マージしたいファイル(編集したファイル)・マージ前のファイル(編集前のファイル)の3つがあれば対応可能です。
- 複数名(Aさん・Bさん)での同時編集の後のマージで、追加した内容がたまたま一致していたらどうなりますか?(競合?どっちも追加?)
- AさんとBさんが同じ名前の要素を作成した場合、いずれも追加となります。LemonTreeは要素のGUIDで同じ要素かどうかを判別していますので、AさんとBさんが作成した要素は異なるGUIDとなるため、いずれも追加となります。
- AさんとBさんが「Class1」という要素の名前を「Class1a」と同じ名前に変更した場合、LemonTreeでは編集前のファイルとAさん編集のファイルの差分、編集前のファイルとBさん編集のファイルの差分、をそれぞれ表示しますので、AさんとBさんいずれも編集した、という扱いになります。
- レビューした場合に、左側の一覧でチェックを入れることはできますが、右下のダイアグラム表示からチェックを入れることはできますか?
- 右下の図でレビュー済みのチェックを直接入れることはできません。ただ、右下の図で対象要素を選択すると、左上の要素リストの対象要素にもフォーカスが当たりますので、要素リストでフォーカスが当たった要素にチェックを入れる、という方法があります。
- レビューでチェックを入れ、フィルタを実行すると一覧やモデルブラウザのツリーでは非表示になりますが、ダイアグラム表示でも要素が消えたりアニメーションがなくなったりするなど反映されますか?反映されない場合、反映するためのオプションはありますか?
- 現在はダイアグラム表示に関してはフィルタは適用されません。そのため、関連するオプションもございません。
- レビューで、チェック済み情報を出力したファイルを確認する際も、LemonTreeのライセンスは必要でしょうか。また、必要な場合、ライセンスがいらなくとも参照可能な方法はありますでしょうか。(PDF等)
- LemonTreeは参照のみでもライセンスが必要です。
- GitとSubversionの両方に対応していますが、どちらかのツールで優位性はありますか?
- Gitの場合、Enterprise Architectの独自アドインからプルやコミットしてプッシュを行なうことができます。アドインについての説明ページもご覧ください。
- Git連携の時に、衝突を検出した際にすぐにLemonTreeを起動して解決するのではなく、保留しておいて後でLemonTreeを別途起動して差分比較することはできますか?
- 可能です。該当ファイルのコンテキストメニューから比較することができます。gitコミット操作についてのページもご覧ください。
- MPMSのデモで、ライブラリとして登録した部品が変更された場合に製品側プロジェクトにどのように反映されるのかのデモを見たいです。
- このページ内の、公開用動画ではご希望の内容を追加しました。(当日は追加でデモを実施しました。)
- Enterprise Architectの差分機能では、更新日だけ異なるなど、あまり重要でないプロパティも差分として表示され、差分チェックやマージに時間を要することがあります。この点はLemonTreeを利用すると改善できますか?
- 更新日だけ異なる場合、LemonTreeでは差分とはしません。ただし、更新日以外にも差分がある場合は差分として扱い、LemonTree上で更新日の差分も確認することができます。
- 重要でないプロパティの差分につきましては、現時点のフィルタ機能で対応できる場合には非表示にできます。ただ、お客様ごとに重要でないプロパティは異なると思いますので、フィルタ機能で任意の項目の差分を無視できるよう、開発元に改善を要望いたします。
- ⇒(2021/08/16追記) LemonTreeバージョン3.1.3で、差分表示において任意の項目の差分を無視するフィルタオプションが追加されました。
- Enterprise Architectの差分機能では、Enterprise Architectのバージョンの違い・アドインの違い・設定の違いなどが差分として表示され、差分チェックやマージに時間を要することがあります。この点はLemonTreeを利用すると改善できますか?
- Enterprise Architectは、バージョンが更新されると、新機能の追加や最新の仕様への対応・不備への対応などで、モデルの情報が更新されたり追加されたりします。これは差分として扱われ、このような差分を無視するようにすることは困難です。
- LemonTreeの場合でもEnterprise Architectの標準機能の場合でも、同じバージョン・同じアドインを使うことは前提となり、この点を吸収することは技術的には非常に困難だと思います。