LemonTree 差分比較とマージ

ここでは、差分比較とマージについてご紹介します。

ダイアグラム上で差分比較

Enterprise Architectの標準機能では主にテキストベース比較でしたが、LemonTreeではダイアグラム上で差分を確認でき、直感的に差分を把握することができます。また、Enterprise Architect の標準機能では表示できない、シーケンス図のメッセージなど接続の変更も表示できます。

Enterprise Architect
(ベースライン機能を利用した比較)





LemonTreeのUIは、リスト・ツリー・図の3つのビューで構成されています。ツリービューは Enterprise Architectのモデルブラウザのように表示され、また3つのビューが同期します。そのためリストやツリーで差分項目をクリックすると図で変更箇所を確認でき、効率的に差分を把握することができます。

3way比較とマージのプレビュー

3way比較による差分把握

ベースモデルに対して複数人で同時編集している場合、3way比較(「ベースモデル」「自身で編集したモデル」「マージ相手のモデル(最新モデル)」の3モデル比較)により、モデルのバージョン毎にどのような変更がされているかを正確に把握することができます。


マージのプレビュー

マージする前にダイアグラムやツリー上で、マージ後のモデルがどのようになるかをプレビューすることができます。
(3way比較において、プレビューでどのモデルの内容が優先されるかにつきましては、こちらをご覧ください。)

以下、チーム開発における競合を例にLemonTreeをご紹介します。
たとえば、下図のように同じ要素を2人で同時に編集すると、マージのときに競合となることがあります。




このような場合に、誰がどのように編集したかをLemonTreeでは視覚的に分かりやすく表示します。以下のLemonTree画面では、「ベースモデル (V1)」に対して、「編集モデル (V1a)」「最新モデル (V2)」それぞれとの比較結果を表示し、誰がどのように編集したかを確認することができます。また、競合箇所もアイコン表示で簡単に確認することができます。


マージにおいては、上記画面のようにマージターゲットでマージ結果を事前に確認・調整ができるので、ユーザの意図に沿った形で適切にマージすることができます。競合がある場合、画面の左側に比較表示されている変更内容 (V1とVerenaの差分) をマージターゲットへ優先的に反映します。

マージターゲットの内容変更は、差分表示のツリーやダイアグラムビューで該当項目付近にあるTakeボタンで簡単に行なえます。

マージは、Mergeボタンで行ないます。マージを実行しても比較対象のEAPX/QEAXファイルは変更しないので、もしマージの間違いがあっても簡単に再比較を行なうことができます。