変更セットのコミット間の競合
サービスデリバリには、毎日何百もの構成変更を伴う構成データに対して複数のチームが同時に作業することが含まれます。変更は別のユーザーによる以前の変更と競合する可能性があるため、CDM はコミットとスナップショットを管理して、競合するコミットをブロックします。変更セットの競合が通知され、解決に役立ちます。
重要:
DevOps コンフィグ は現在廃止されており、新しいアクティベーションのサポートや利用は終了しています。
競合が発生したとき
変更セットをコミットしようとするたびに、システムは以前の他のコミットとの競合があるかどうかを判断します。システムから競合が報告された場合は、一部の変更を保持するか、競合するすべての変更を破棄して新しい変更セットから開始するかを選択できます。このため、作業を再作成するタスクを容易にするために、競合する変更セットを閉じる前に、大きな変更をコピーしてテキストエディターに貼り付けることができます。
競合を回避する方法
競合を回避するには、次の提案に従ってください。
- 変更セットを短時間開いたままにしてみてください。調査を行う必要がある場合は、変更セットを閉じ、情報を取得した後で新しい変更セットを開始します。
- コード編集タスクを同僚と調整します。これにより、同じ構成アイテムを同時に更新することを避けることができます。
競合のタイプ
識別された競合の次の各例で、説明されている「アイテム」は、変更セット内の構成データアイテム (CDI) です。他のユーザーがコミットした変更で、自分の変更と競合しています。
- 作業中の変更セット内の古いデータ
- アイテムの値が別の変更セットで変更されました。
- アイテムは別の変更セットのコレクションまたは展開可能項目に含まれなくなりました。
- データテーブルの誤った変更によるデータ破損:開いている変更セットに新しく追加されたアイテムが、以前のバージョンを誤って参照するようにデータテーブルで変更されました。オープン変更セット内のアイテムが、データテーブルの変更によって置き換えられました。開いている変更セット内の更新または削除されたアイテムが、以前のバージョンを参照しないようにデータテーブルで誤って変更されました。
- 親が変更されました
- 別の変更セットで親が削除されたか、名前が変更されたため、アイテムは孤立しています。
- 親子関係が変更されました
- 親データアイテムに変更を加えている間に、新しいアイテムが別の変更セットに追加されました。
- 参照が変更されました
- アイテムは別の変更セットのコレクションまたは展開可能項目に含まれました。
- アイテムはコレクションに含まれているか、別の変更セットに展開可能であるため、削除できません。
- 重複
- 同じ名前のアイテムが既に存在します。
- 無効なインクルード
- インクルードが参照するコンポーネントまたはコレクションが別の変更セットで削除されました。
- インクルードが参照するコンポーネントまたはコレクションが別の変更セットで名前変更されました。
- 含めるコンポーネントの子孫が既に別の変更セットでコレクションに含まれています。