メインコンテンツまでスキップ

マージによるエラー

マージ時にコンフリクト(衝突)やモデルの不整合を検出した場合にエラーを表示します。エラー発生のポイントは下記の2つです。

  • マージ開始時
  • マージ中

各々の詳細を下記に示します。

マージ開始時のエラー

  • 現在のブランチ(own)において未コミットの変更がある場合にエラーとなります。
    • 未コミットのデータを上書きしてしまわないようGit本体の仕組みによりコンフリクトが検出され、エラーを表示します。

マージ中のエラー

  • マージ中にエラーを検出した場合にエラーとなります。
    • この場合、 NDMerge はマージ処理を中止します。
  • マージ中のエラーは大きく分けて下記の2つがあります。
    • 編集によるコンフリクトエラー
    • モデルの不整合によるエラー
  • それぞれのエラーにおけるメッセージについては、こちらを参照してください。

編集によるコンフリクトエラー

  • 個々のモデルへの編集によりコンフリクトが発生する場合、エラーとなります。
    • マージ対象によってコンフリクトとなる条件が異なります。対象ごとのコンフリクト条件を下記に示します。
対象内容
ファイルファイルのスキーマバージョンが衝突(注1)
エンティティや関連フィールド値の変更同士が衝突
モデルの削除と、そのモデルのフィールド値の変更が衝突
親モデルの削除と、子モデルのフィールド値の変更が衝突
インタラクションモデルインタラクション要素の変更が衝突(注2)
プロダクトラインのモデルフィーチャモデルの編集が衝突
フィーチャ割り当て(フィーチャ式)が衝突
コンフィグレーションの変更が衝突
フィーチャ間の制約の衝突
プロファイルプロファイルの変更内容が衝突(注3)
プロジェクトプロジェクト情報(概要やカテゴリなど)の変更が衝突
トレースページの設定情報の変更が衝突
(系列の設定情報、トレース網羅率の計算対象外の一覧情報が該当します)
  • 注1 : ファイル単位で保持するスキーマバージョンのアップデートがあった場合、衝突と扱われます。
  • 注2 : ライフラインやメッセージなどの変更が1つ以上ある場合、変更があったと扱われます。またインタラクションモデル=シーケンス図では、シェイプの座標情報も設計データとして扱うため、座標の変更もコンフリクト対象となります。
  • 注3 : プロファイルの要素は、メタモデル、ビュー定義、画像などのリソース、クラス図の内容が該当します。それらについて追加・削除、変更が1つ以上ある場合、変更があったと扱われます。

モデル不整合によるエラー

  • コンフリクトなくマージした結果として、下記のようなモデルの不整合状態があればエラーとなります。
    • 所有関連が循環参照となってしまう
    • 親が複数となってしまう

関連項目