Konflikte zwischen Changeset-Commits
Die Servicebereitstellung kann mehrere Teams umfassen, die gleichzeitig an Konfigurationsdaten arbeiten, mit potenziell Hunderten von Konfigurationsänderungen jeden Tag. Da Changes mit früheren Changes eines anderen Anwenders in Konflikt stehen können, CDM Verwaltet Commits und Snapshots, um Commits mit Konflikten zu blockieren. Sie werden über Changeset-Konflikte benachrichtigt, um sie zu lösen.
Wenn ein Konflikt auftritt
Jedes Mal, wenn Sie versuchen, ein Changeset zu bestätigen, bestimmt das System, ob Konflikte mit anderen früheren Commits bestehen. Wenn das System einen Konflikt meldet, können Sie versuchen, einige der Änderungen beizubehalten oder alle in Konflikt stehenden Änderungen zu verwerfen und mit einem neuen Changeset zu beginnen. Aus diesem Grund können Sie größere Änderungen kopieren und in einen Texteditor einfügen, bevor Sie ein in Konflikt stehendes Changeset schließen.
So vermeiden Sie Konflikte
- Versuchen Sie, ein Changeset für einen kurzen Zeitraum offen zu halten. Wenn Sie recherchieren müssen, schließen Sie das Changeset, und starten Sie ein neues Changeset, nachdem Sie die Informationen erhalten haben.
- Koordinieren Sie Ihre Codebearbeitungsaufgaben mit Kollegen. Dadurch können Sie vermeiden, dass dasselbe Konfigurationselement gleichzeitig aktualisiert wird.
Arten von Konflikten
- Veraltete Daten in Ihrem Arbeitschangeset
- Der Wert des Elements wurde in einem anderen Changeset geändert.
- Das Element ist nicht mehr in einer Sammlung enthalten oder in einem anderen Changeset bereitstellbar.
- Datenbeschädigung, die durch eine falsche Änderung in der Datentabelle verursacht wurde: Das neu hinzugefügte Element in Ihrem offenen Changeset wurde in der Datentabelle geändert, um fälschlicherweise auf eine vorherige Version zu verweisen. Das Element in Ihrem offenen Changeset wurde durch eine Änderung in der Datentabelle ersetzt. Das aktualisierte oder gelöschte Element in Ihrem offenen Changeset wurde in der Datentabelle falsch geändert, um nicht auf die vorherige Version zu verweisen.
- Übergeordnetes Element geändert
- Das Element ist ein verwaistes Element, da sein übergeordnetes Element in einem anderen Changeset gelöscht oder umbenannt wurde.
- Übergeordnete/untergeordnete Beziehung geändert
- Neue Elemente wurden in einem anderen Changeset hinzugefügt, während Sie Änderungen am übergeordneten Datenelement vorgenommen haben.
- Referenzen geändert
- Das Element wurde in einer Sammlung enthalten oder in einem anderen Changeset bereitstellbar.
- Das Element kann nicht gelöscht werden, da es in einer Sammlung enthalten oder in einem anderen Changeset bereitgestellt werden kann.
- Duplikat
- Ein Element mit demselben Namen ist bereits vorhanden.
- Ungültige Includes
- Die Komponente oder Sammlung, auf die die Include verwiesen wurde, wurde in einem anderen Changeset gelöscht.
- Die Komponente oder Sammlung, auf die die Include verwiesen wurde, wurde in einem anderen Changeset umbenannt.
- Ein untergeordnetes Element der einzuschließenden Komponente ist bereits in der Sammlung in einem anderen Changeset enthalten.