Während Änderungen an den Versionen in einer Versionsstruktur vorgenommen werden, beginnen die Versionen, sich zu unterscheiden. Das Abrufen aller Änderungen aus einer Vorgängerversion und das Zusammenführen von Änderungen aus Ihrer Version in dieser Version wird als Abgleichen und Zurückschreiben bezeichnet. Sobald Sie die Bearbeitung einer Version abgeschlossen haben, können Sie die vorgenommenen Änderungen in einer anderen Version zusammenführen. Bei traditioneller Versionierung können Sie die Änderungen in jeder Version, die die Vorgängerversion dieser Version ist, zusammenführen, z. B. der Parent- oder Default-Version.
Nachdem Sie mit der Bearbeitung Ihrer Version begonnen haben, wurde die Vorgängerversion möglicherweise von anderen Benutzern auf eine Weise geändert, die mit Ihren Änderungen in Konflikt steht. Beim Abgleichen Ihrer Änderungen mit der Zielversion werden diese Konflikte erkannt.
Wenn Konflikte bestehen, löst ArcGIS Pro diese je nach gewählter Einstellung zunächst zugunsten der Versionsrepräsentation, die Sie bearbeiten, oder in der Zielversion. Nachdem die Konflikte zunächst gelöst wurden, können Sie diese einzeln überprüfen und bei Bedarf Änderungen vornehmen. Wenn z. B. ein Konflikt zugunsten der Editierversion gelöst wurde, können Sie diese Fassung durch die Fassung in der Zielversion ersetzen oder sogar mit den Editierwerkzeugen ändern.
Beim Abgleich wird nur die Editierversion aktualisiert, sodass von ArcGIS Pro eine Überprüfung auf Konflikte erfolgen kann. Die Änderungen werden nicht in der Vorgängerversion zusammengeführt. Nachdem Sie den Abgleich und die Überprüfung aller Konflikte fertig gestellt haben, können Sie die Zusammenführung abschließen, indem Sie Ihre Änderungen in die Vorgängerversion zurückschreiben.
Hinweis:
In diesem Thema wird das Abgleichen und Zurückschreiben mit der Registerkarte Versionierung beschrieben. Sie können Versionen auch mit dem Geoverarbeitungswerkzeug Versionen abgleichen und der Schaltfläche Abgleichen/Zurückschreiben auf der Registerkarte Versionen abgleichen und zurückschreiben, wenn die Ansicht "Versionen" angezeigt wird.Abgleichvorgang - Traditionelle Versionen
Um bei traditioneller Versionierung Ihre Änderungen mit einer Vorgängerversion abzugleichen, müssen die folgenden Voraussetzungen erfüllt sein:
- Sie müssen der einzige Benutzer sein, der aktuell die traditionelle Version bearbeitet, die Sie abgleichen.
- Die Zielversion darf von keinem anderen Benutzer bearbeitet werden. Eine Ausnahme besteht, wenn die Zielversion die Default-Version ist. Sie können einen Abgleich gegen die Default-Version nur dann ausführen, wenn sie von anderen Benutzern bearbeitet wird.
- Sie müssen die Zielversion anzeigen können, d. h. sie kann öffentlich oder geschützt sein. Wenn sie privat ist, müssen Sie der Versionsbesitzer oder der Geodatabase-Administrator sein.
- Wenn Ihr Workflow so aussieht, dass ein Benutzer Änderungen vornimmt und ein anderer den Abgleich ausführt, müssen Sie sicherstellen, dass dem Benutzer, der den Abgleich ausführt, alle Berechtigungen für alle Feature-Classes und -Tabellen zugewiesen sind, die in der Version geändert wurden. Andernfalls kann der Benutzer keinen Abgleich vornehmen. Der Benutzer, der den Abgleich ausführt, muss volle Berechtigungen für beide Seiten jeder Beziehung aufweisen, die geändert wurde, darunter grundlegende oder abhängige Beziehungen. Bei diesem Typ von Workflow muss der Benutzer, der den Abgleich ausführt, ebenfalls über ausreichende Versionsberechtigungen verfügen. Der Benutzer, der den Abgleich ausführt, muss die abzugleichende Version ändern können, d. h. sie muss öffentlich sein. Außerdem muss er die Zielversion anzeigen können, d. h. der Benutzer muss die Version besitzen oder sie muss öffentlich oder geschützt sein.
Um den Abgleichvorgang zu starten, klicken Sie auf der Registerkarte Versionierung in der Gruppe Versionierung auf Abgleichen.
Wenn das Dialogfeld Abgleichen angezeigt wird, geben Sie die folgenden Informationen ein:
- Die Zielversion
- Geben Sie an, wie die Konflikte definiert werden sollen. Die folgenden Optionen sind verfügbar:
Konflikte auf dieser Ebene definieren Um diese Fälle zu erkennen Zeile (nach Objekt)
Ein zweiter Benutzer bearbeitet die gleiche Zeile oder das gleiche Feature bzw. topologisch verknüpfte Features auf die gleiche Weise wie Sie. Der Konflikt tritt selbst dann auf, wenn Sie unterschiedliche Attribute bearbeitet haben.
Spalte (nach Attribut)
Ein zweiter Benutzer bearbeitet das gleiche Attribut eines Features oder einer Tabelle. Dies ist die Standardeinstellung.
Optionen zum Definieren eines Konflikts - Wie ArcGIS Pro Konflikte zunächst lösen soll: zugunsten der Version, die Sie bearbeiten (als Editierversion bezeichnet), oder zugunsten der Zielversion. Wenn Sie eine Lösung zugunsten der Zielversion auswählen, werden alle in Konflikt stehenden Features in der aktuellen Editiersitzung durch ihre Repräsentationen in der Zielversion ersetzt. Wenn mehrere Benutzer dieselbe Version bearbeiten und Konflikte erkannt werden, wird die Repräsentation in der Editiersitzung durch das zuerst gespeicherte Feature ersetzt. Wenn Sie Konflikte zugunsten der Editierversion lösen, haben alle in Konflikt stehenden Features in der aktuellen Editiersitzung Vorrang über die entsprechenden Repräsentationen in der Zielversion.
Hinweis:
Ein Abgleichvorgang kann nicht mit einem "Rückgängig"-Vorgang rückgängig gemacht werden. Um einen Abgleich rückgängig zu machen, müssen Sie lediglich die Änderungen verwerfen, ohne sie zu speichern.
Gehen Sie wie folgt vor, um Änderungen an Ihrer traditionellen Version mit einer Vorgängerversion abzugleichen:
- Klicken Sie auf der Registerkarte Versionierung in der Gruppe Versionierung auf Abgleichen.
Das Dialogfeld Abgleichen wird angezeigt.
- Wählen Sie die Zielversion aus.
- Geben Sie an, wie die Konflikte definiert werden sollen.
- Geben Sie an, ob alle Konflikte zugunsten der Editierversion oder einer anderen Zielversion gelöst werden sollen.
Wenn Sie eine Lösung zugunsten der Zielversion auswählen, werden alle in Konflikt stehenden Features in der aktuellen Editiersitzung durch ihre Repräsentationen in der Zielversion ersetzt. Wenn mehrere Benutzer dieselbe Version bearbeiten und Konflikte erkannt werden, wird die Repräsentation in der Editiersitzung durch das zuerst gespeicherte Feature ersetzt. Wenn Sie Konflikte zugunsten der Editierversion lösen, haben alle in Konflikt stehenden Features in der aktuellen Sitzung Vorrang vor der entsprechenden Zielversionsrepräsentation.
- Klicken Sie auf OK.
Überprüfen von Konflikten mit der Ansicht "Konflikte"
Wenn Sie den Abgleich vornehmen und dabei Konflikte festgestellt werden, können Sie diese in der interaktiven Ansicht "Konflikte" überprüfen. Die Ansicht kann an einer beliebigen Stelle in der App verankert oder als unverankertes Fenster verwendet werden. So sind gleichzeitig Interaktionen mit der Ansicht "Karte" möglich, in der Kontext bereitgestellt wird und weitere Analysen der Daten möglich sind. Die Ansicht "Konflikte" enthält alle Klassen sowie die jeweiligen Features oder Zeilen, die in Konflikt stehen. Dies bietet Ihnen zudem die folgenden Möglichkeiten:
- Ermitteln der in Konflikt stehenden Felder oder Zeilen
- Anzeigen von Konflikten
- Markieren von Konflikten als überprüft oder als nicht überprüft
- Lösen von Konflikten durch Festlegen der Repräsentation, mit der Features oder Attribute ersetzt werden sollen
Konflikte treten in folgenden Fällen auf:
- In der derzeit bearbeiteten Version und in der Zielversion wird dasselbe Feature aktualisiert.
- Ein einzelnes Feature wird in einer Version aktualisiert und in einer anderen gelöscht.
- Ein topologisch in Beziehung stehendes Feature bzw. eine Beziehungsklasse wird in der derzeit bearbeiteten Version und in der Zielversion geändert.
Wenn in einer traditionellen Version Konflikte bestehen, löst ArcGIS Pro diese je nach gewählter Einstellung zugunsten der Repräsentation in der Editierversion oder in der Zielversion. Nachdem die Konflikte gelöst sind, können Sie diese einzeln überprüfen und bei Bedarf Änderungen vornehmen. Wenn z. B. ein Konflikt zugunsten der Editierversion gelöst wurde, können Sie diese Fassung durch die Fassung in der Zielversion ersetzen oder mit den Editierwerkzeugen auf andere Weise ändern.
Ermitteln der in Konflikt stehenden Felder oder Zeilen
Alle in Konflikt stehenden Klassen und Features werden im Listenfeld links oben in der Ansicht "Konflikte" aufgeführt. In dieser Liste finden Sie die Gesamtzahl der Konflikte in allen Feature-Classes.
Wenn Sie auf den Dropdown-Pfeil eines Objekts klicken, sehen Sie die Konflikte für jedes Feature. Sie sind in drei mögliche Kategorien unterteilt:
- Aktualisieren-Löschen: Das Feature wurde in der aktuellen Version aktualisiert und in der Zielversion gelöscht.
- Löschen-Aktualisieren: Das Feature wurde in der aktuellen Version gelöscht und in der Zielversion aktualisiert.
- Aktualisieren-Aktualisieren: Das Feature wurde in der aktuellen und der Zielversion aktualisiert.
Wenn Sie die ObjectID eines einzelnen Features in der Liste auswählen, werden in der Informationstabelle auf der rechten Seite der Ansicht "Konflikte" die Spalten und Attribute in der Version vor dem Abgleich, in der aktuellen Version und in der Zielversion des Features angezeigt.
Wenn Sie die in Konflikt stehenden Attribute und Werte für alle Repräsentationen eines Features anzeigen, können Sie die Unterschiede zwischen den Attributwerten der verschiedenen Versionen erkennen und leichter entscheiden, welche Repräsentation der Daten beibehalten werden soll.
- Die aktuelle Version stellt die von Ihnen vorgenommenen Änderungen am Feature und an den Attributen dar.
- Die Zielversion stellt das Feature und dessen Attribute in der von einem anderen Benutzer bearbeiteten und abgeglichenen Version dar. Dies ist die Zielversion, die Sie ausgewählt haben, als Sie die Ansicht "Konflikte" geöffnet haben.
- Die gemeinsame Vorgängerversion ist die Repräsentation des Features und der zugehörigen Attribute in deren Zustand in der Datenbank. Dies entspricht dem Zustand des Features und der Attribute vor sämtlichen Änderungen.
Ein roter Indikator links neben der Zeile gibt einen Konflikt an. Wenn beispielsweise die Geometrie des Features in verschiedenen Versionen bearbeitet wurde, wird ein roter Indikator neben dem Feld "Shape" angezeigt.
Wenn andere Attributfelder in Konflikt stehen, wird links neben der Zeile ein roter Indikator angezeigt. Wenn ein Feature in einer der Versionen gelöscht wurde, wird <Gelöscht> als Attributwert dieser Version angezeigt.
Wurden Features in die Child-Version eingefügt und haben sie zu einem Konflikt geführt, dann wird in der Zielversion und der Version Gemeinsamer Vorgänger der Wert <Nicht vorhanden> angezeigt.
Mit den beiden Schaltflächen am unteren Rand des Dialogfeldes können Sie entweder alle Felder einblenden oder nur diejenigen, die miteinander in Konflikt stehen.
Markieren als überprüft oder als nicht überprüft
Nachdem Sie die in Konflikt stehenden Felder oder Zeilen ermittelt haben, können Sie ein Feature als überprüft markieren. Sie können verfolgen, welche Features Sie in der Liste überprüft haben, weil die als überprüft markierten Features nicht mehr fett formatiert sind.
Wenn Sie einen Feature-Konflikt später behandeln möchten, können Sie in der Liste Konflikte mit der rechten Maustaste auf die ObjectID und dann auf Als nicht überprüft markieren klicken. Auf diese Weise wird das Feature wieder fett formatiert.
Wenn Sie auf das Kontrollkästchen Überprüfte Konflikte filtern oben in der Ansicht klicken, können Sie die Liste so filtern, dass nur die Konflikte, die noch nicht überprüft wurden, angezeigt werden.
Lösen von Konflikten
Beim Lösen von Konflikten entscheiden Sie, welche Repräsentation der Features und Attribute Sie beibehalten möchten. Unabhängig von der Version, zugunsten der Sie den Abgleich vornehmen möchten (Ziel- oder Edit-Version), können Sie angeben, welche Repräsentation beibehalten werden soll: die aktuelle Repräsentation (Repräsentation Ihrer Version vor dem Abgleich), die Zielrepräsentation (durch einen anderen Benutzer geänderte Repräsentation) oder die Repräsentation des gemeinsamen Vorgängers (Repräsentation des Features oder Attributs in der Zielversion).
Für die Konfliktlösung stehen vier Ersetzungsoptionen zur Verfügung:
- Attributersetzung:
Diese Ersetzung erfolgt auf Feldebene. Wenn Konflikte in Attributen vorliegen, können Sie diesen Attributwert in der aktuellen Version durch den Wert in der aktuellen, in der Ziel- oder in der Repräsentation des gemeinsamen Vorgängers ersetzen. Klicken Sie dazu mit der rechten Maustaste auf das in Konflikt stehende Attribut. Klicken Sie dann im Kontextmenü auf die gewünschte Option.
- Feature-Ersetzung:
Diese Ersetzung erfolgt auf Zeilenebene. Sie können ein vollständiges Feature durch die Repräsentation des Features in der aktuellen, in der Ziel- oder in der Version des gemeinsamen Vorgängers ersetzen. Dies bedeutet, dass alle in Konflikt stehenden Felder ersetzt werden.
- Ersetzung auf Klassenebene:
Sie können die aktuelle Repräsentation der gesamten Feature-Class durch die Repräsentation Ihrer aktuellen, Ziel- oder gemeinsamen Vorgängerversion ersetzen, um den Konflikt zu lösen. Auf diese Weise werden alle in Konflikt stehenden Features und Attribute auf einmal ersetzt, wodurch Sie in Konflikt stehende Features schnell aktualisieren und ersetzen können. Wenn die Liste Unterschiede mehrere Features enthält, werden alle durch die ausgewählte Version ersetzt.
Um eine Ersetzungsoption auf Klassenebene auszuwählen, klicken Sie in der Liste Unterschiede mit der rechten Maustaste auf den Namen der Feature-Class. Klicken Sie dann auf die Version, die Sie verwenden möchten.
- Vollständige Ersetzung:
Dies ist die Ersetzung auf Stammebene Mit dieser Ersetzungsoption werden sämtliche in Konflikt stehenden Features und Feature-Classes in der Liste durch die angegebene Repräsentation ersetzt. Wenn mehrere Feature-Classes und mehrere Objekte in Konflikt stehen, werden alle durch die von Ihnen ausgewählte Version ersetzt.
Klicken Sie oben in der Liste der Unterschiede mit der rechten Maustaste auf die Version und die Verbindungsinformationen. Klicken Sie dann auf die Version, mit der die Konflikte ersetzt werden sollen.
Filtern von Konflikten auf Feldebene
Wenn bei der Arbeit mit der traditionellen Versionierung während eines Abgleichs Konflikte festgestellt werden, kann es vorkommen, dass Sie nicht wünschen, dass Änderungen an Feldern oder einer Reihe von Feldern angewendet werden. Nachfolgend sind einige Beispiele für Situationen aufgeführt, in denen es sinnvoll ist, erkannte Konflikte herauszufiltern, wenn ein Feld abgeglichen wird:
- Es wird eine Batch-Aktualisierung für ein Feld in verschiedenen Versionen durchgeführt.
- Informationen werden anhand von innerhalb der Version vorgenommenen Änderungen in ein Feld geschrieben.
Das Werkzeug Feld-Konfliktfilter hinzufügen lässt sich zur Definition eines Satzes von Feldern zwecks Konfliktfilterung verwenden. Mit einem Feldkonflikt-Filter können ein oder mehrere in einer Feature-Class enthaltene Felder getaggt werden, um sie aus der Konflikterkennung auszuschließen. Dies trifft nur dann zu, wenn Sie Konflikte nach Attribut definieren.
Hinweis:
Wenn ein Feld-Konfliktfilter auf ein oder mehrere Felder angewendet wurde, werden beim Abgleich Konflikte nicht identifiziert, wenn nur die Felder, für die der Filter festgelegt wurde, bearbeitet wurden. Wenn andere nicht gefilterte Felder bearbeitet wurden und Konflikte mit der Zielversion für diese Felder bestehen, werden beim Abgleich alle Felder (gefiltert und nicht gefiltert), die in Konflikt stehen, im Konflikt-Manager identifiziert.
Nachdem Sie Änderungen abgeglichen haben, hängt der Wert, der in dem Feld angezeigt wird, das über einen Konfliktfilter verfügt, davon ab, ob Sie festgelegt haben, dass der Abgleich zugunsten der Zielversion oder zugunsten der Änderung erfolgen soll. Wenn Sie festgelegt haben, dass der Abgleich zugunsten der Zielversion erfolgen soll, weisen Felder mit einem Konfliktfilter den Wert aus der Zielversion auf. Wenn Sie festgelegt haben, dass der Abgleich zugunsten der Änderung erfolgen soll, weisen Felder mit einem Konfliktfilter den Wert aus der Editierversion auf.
Mit dem Werkzeug Feld-Konfliktfilter entfernen können diese Konfliktfilter wieder entfernt werden. Mit der Python-Funktion ListFieldConflictFilters kann ermittelt werden, ob für eine Feature-Class oder -Tabelle Konfliktfilter definiert wurden.
Hinweis:
Sobald für eine Feature-Class oder -Tabelle ein Feldkonflikt-Filter definiert wurde, können Clients mit Versionen von ArcGIS vor 10.2.1 die Feature-Class oder Tabelle nicht öffnen. Feld-Konfliktfilter können als Feld definiert werden und lassen sich nach einem Versionsabgleich entfernen, wenn es erforderlich wird, mit früheren ArcGIS-Versionen auf die Daten zuzugreifen.
Lösen von Konflikten mit Attributregeln
Attributregeln vereinfachen die Bearbeitung und verbessern die Datenintegrität für Geodatabase-Datasets. Beim Abgleichen einer traditionell versionierten Feature-Class mit Regeln für die sofortige Berechnung oder Beschränkungsregeln werden diese Attributregeln ausgewertet. Wenn eine Beschränkungsregel verletzt wird, wird der Fehler im Zusammenhang mit der Beschränkungsregel gemeldet, und der Abgleich schlägt fehl. Um den Fehler im Zusammenhang mit der Beschränkungsregel zu vermeiden, sollten Sie Konflikte zeilenweise abgleichen.
Zurückschreiben von Änderungen
Nachdem Sie Konflikte abgeglichen und überprüft haben, können Sie sie in eine Vorgängerversion zurückschreiben.
- Klicken Sie auf der Registerkarte Versionierung in der Gruppe Versionierung auf Zurückschreiben.
Tipp:
Bei traditioneller Versionierung sehen andere Benutzer, die die Zielversion lesen, in die Sie die Änderungen zurückgeschrieben haben, die zurückgeschriebenen Änderungen erst, wenn Sie ihre versionierten Workspaces aktualisieren.
Änderungen können nur dann zurückgeschrieben werden, wenn die Zielversion nicht geändert wurde, seit Sie den letzten Abgleich von Änderungen ausgeführt haben. Wenn die Zielversion in der Zwischenzeit geändert wurde, müssen Sie einen erneuten Abgleich ausführen, bevor Sie die Änderungen zurückschreiben.
Nachdem Änderungen zurückgeschrieben wurden, können Sie nicht rückgängig gemacht werden, da Sie Änderungen auf eine Version anwenden, die aktuell nicht von Ihnen bearbeitet wird.
Nach dem Zurückschreiben können Sie weitere Änderungen in Ihrer Version vornehmen. Um diese Änderungen auf die Zielversion anzuwenden, müssen Sie die Vorgänge "Abgleich", "Konfliktlösung" und "Zurückschreiben" erneut ausführen.
Wenn durch das Zurückschreiben das Ende Ihres Workflows markiert wird, können Sie die Version löschen, die Sie bearbeitet haben.