Konflikte zwischen Changeset-Commits
Die Servicebereitstellung kann mehrere Teams umfassen, die gleichzeitig an Konfigurationsdaten arbeiten, mit potenziell Hunderten von Konfigurationsänderungen pro Tag. Da Changes in Konflikt mit früheren Changes eines anderen Benutzers stehen können, verwaltet CDM Commits und Snapshots, um in Konflikt stehende Commits zu blockieren. Sie werden über Changeset-Konflikte benachrichtigt, damit Sie sie lösen können.
Wenn ein Konflikt auftritt
Jedes Mal, wenn Sie versuchen, ein Changeset zu committen, stellt das System fest, 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. Um die Neuerstellung Ihrer Arbeit zu erleichtern, können Sie daher größere Änderungen in einen Texteditor kopieren, 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 Nachforschungen durchführen müssen, schließen Sie das Changeset, und starten Sie ein neues Changeset, sobald Sie die Informationen haben.
- Koordinieren Sie Ihre Codebearbeitungsaufgaben mit Kollegen. Auf diese Weise können Sie vermeiden, dass dasselbe Configuration Item gleichzeitig aktualisiert wird.
Arten von Konflikten
- Veraltete Daten in Ihrem Arbeits-Changeset
- Der Wert des Elements wurde in einem anderen Changeset geändert.
- Das Element ist nicht mehr in einer Sammlung enthalten und kann auch nicht in einem anderen Changeset bereitgestellt werden.
- Datenbeschädigung durch eine falsche Änderung in der Datentabelle: Das neu hinzugefügte Element in Ihrem offenen Changeset wurde in der Datentabelle so geändert, dass es fälschlicherweise auf eine frühere Version verweist. 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 fälschlicherweise so geändert, dass es nicht auf die vorherige Version verweist.
- Übergeordnetes Element geändert
- Das Element ist verwaist, da sein übergeordnetes Element in einem anderen Changeset gelöscht oder umbenannt wurde.
- Übergeordnet/Untergeordnet-Beziehung geändert
- Neue Elemente wurden in einem anderen Changeset hinzugefügt, während Sie Änderungen am übergeordneten Datenelement vorgenommen haben.
- Geänderte Referenzen
- Das Element wurde in eine Sammlung aufgenommen oder in einem anderen Changeset bereitgestellt.
- Das Element kann nicht gelöscht werden, da es in einer Sammlung enthalten oder in einem anderen Changeset bereitstellbar ist.
- Duplikat
- Ein Element mit demselben Namen ist bereits vorhanden.
- Ungültige Includes
- Die Komponente oder Sammlung, auf die sich das Include bezieht, wurde in einem anderen Changeset gelöscht.
- Die Komponente oder Sammlung, auf die sich das Include bezieht, wurde in einem anderen Changeset umbenannt.
- Ein untergeordnetes Element der einzubeziehenden Komponente ist bereits in einem anderen Changeset in der Sammlung enthalten.