Abgleichen und Zurückschreiben von Änderungen an einer Verzweigungsversion

Während Änderungen an einer Version vorgenommen werden, beginnen die Versionen, sich zu unterscheiden. Nachdem eine benannte Version erstellt wurde, werden alle Änderungen in der Default-Version und in der benannten Version verfolgt. Änderungen in der Default-Version können auch Änderungen sein, die durch andere benannte Versionen zurückgeschrieben wurden.

Wenn Sie das Bearbeiten einer benannten Version abgeschlossen haben, können Sie die Prozesse zum Abgleichen und Zurückschreiben durchführen, um Ihre Änderungen zusammenzuführen. Das Abrufen aller Änderungen aus der Default-Version und das Zusammenführen dieser Änderungen mit Ihrer Version wird als Abgleichen bezeichnet. Danach können Sie mit dem Zurückschreiben die Änderungen, die Sie vorgenommen haben, an die Default-Version senden. Bei Verzweigungsversionierung erfolgt das Abgleichen und Zurückschreiben immer mit der Default-Version als Zielversion.

Konflikte werden erkannt, wenn die benannte Version mit der Default-Version abgeglichen wird. Wenn während des Abgleichvorgangs Konflikte entdeckt werden, werden sie zunächst zugunsten der Editierversion gelöst. Sie erhalten eine Eingabeaufforderung, in der Sie gefragt werden, ob Sie Konflikte in der Ansicht "Konflikte" überprüfen möchten. Hier können Sie sie einzeln überprüfen und bei Bedarf Änderungen vornehmen. Sie können zum Beispiel die Zielversion als zu verwendende Version angeben oder das betreffende Feature mit den Editierwerkzeugen auf andere Weise ändern.

Beim Abgleichvorgang wird nur die Editierversion aktualisiert, sodass von ArcGIS Pro eine Überprüfung auf Konflikte erfolgen kann. Die Änderungen werden nicht in der Zielversion zusammengeführt. Nachdem Sie den Abgleich und die Überprüfung der Konflikte fertig gestellt haben, können Sie die Zusammenführung abschließen, indem Sie Ihre Änderungen in die Zielversion 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 oder der Schaltfläche Abgleichen/Zurückschreiben Abgleichen und Zurückschreiben auf der Registerkarte Versionen abgleichen und zurückschreiben, wenn die Ansicht "Versionen" angezeigt wird.

Abgleichvorgang

Wenn Sie in einer Verzweigungsversion arbeiten, werden beim Abgleichen mit der Default-Version Konflikte zwischen ihr und der benannten Version, mit der Sie aktuell verbunden sind, erkannt. Eine Warnung wird ausgegeben, wenn Sie einen Abgleich starten und es Konflikte gibt, die nicht als überprüft markiert sind. Bei Verzweigungsversionierung können Sie nur mit der Default-Version abgleichen. Mit einer anderen benannten Version können Sie nicht abgleichen.

Weitere Informationen zum Versionszugriff

Beim Zugriff auf nach Verzweigung versionierte Datenquellen als Web-Feature-Layer können Sie die Werkzeuge Abgleichen und Zurückschreiben verwenden. Um den Abgleichvorgang zu starten, klicken Sie auf der Registerkarte Versionierung auf die Schaltfläche Abgleichen. Das Dialogfeld Abgleichen wird angezeigt. Beim Abgleichen von Versionen für nach Verzweigung versionierte Datasets werden die folgenden Bedingungen verwendet:

  • Konflikte können nach Objekt oder nach Attribut definiert werden.
  • Konflikte werden immer zugunsten der Editierversion gelöst.

Die Vorgänge "Rückgängig" und "Verwerfen" können nicht verwendet werden, um Änderungen für nach Verzweigung versionierte Daten zurückzusetzen, die nach einem abgeschlossenen Abgleich vorgenommen wurden.

Vorhandene Konflikte können Sie sich in der Ansicht "Konflikte" näher ansehen.

Überprüfen von Konflikten in der Ansicht "Konflikte"

Wenn Konflikte während des Abgleichvorgangs entdeckt werden, können Sie sie in der Ansicht "Konflikte" Konflikt-Manager ü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. Die Konfliktklassen stehen für die Konflikte verursachenden Web-Feature-Layer des gesamten Service.

Die Ansicht "Konflikte" ermöglicht Ihnen Folgendes:

  • 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 den folgenden Fällen auf:

  • In der aktuellen Editierversion 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 aktuellen Editierversion und in der Zielversion geändert.

Konflikte in einer Verzweigungsversion werden durch ArcGIS Pro zugunsten der Editierversion gelöst.

Bei der Verzweigungsversionierung werden Konflikte in einer systemeigenen Tabelle mit dem Namen GDB_CONFLICTS gespeichert. Dadurch können Sie Konflikte über mehrere Editiersitzungen hinweg verwalten, also Konflikte überprüfen und lösen, wenn Sie die Arbeit unterbrechen und später wieder aufnehmen möchten. Ein zweiter Abgleichvorgang bereinigt dann die Tabelle der Konflikte und füllt sie mit den Konflikten, die seit dem letzten Abgleich neu aufgetreten sind. Das bedeutet, dass Ihr Verlauf der Konfliktlösungen verloren gehen kann, wenn ein zweiter Abgleich durchgeführt wird.

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. Diese Liste enthält die Gesamtzahl der Konflikte für Web-Feature-Layer im gesamten Service.

Klicken Sie auf den Dropdown-Pfeil eines Objekts, um die Konflikte für die einzelnen Features anzuzeigen. Diese sind in die folgenden Kategorien eingeteilt:

  • 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 Felder 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.

  • Aktuell: Gibt den aktuellen Zustand der Features und Attribute in der benannten Version wieder. Dies umfasst auch alle vorgenommenen Änderungen.
  • Ziel: Gibt die Features und Attribute in der Zielversion wieder.
  • Gemeinsamer Vorgänger: Gibt die Features und Attribute zum Zeitpunkt der ursprünglichen Erstellung der Version oder zum Zeitpunkt des letzten Abgleichvorgangs wieder.

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 <Deleted> als Attributwert dieser Version 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, dann klicken Sie in der Liste der Konflikte mit der rechten Maustaste auf die ObjectID und klicken dann auf Als nicht überprüft markieren. Auf diese Weise wird das Feature wieder fett formatiert.

Wenn Sie das Kontrollkästchen Überprüfte Konflikte filtern oben in der Ansicht aktivieren, können Sie die Liste so filtern, dass nur die Konflikte, die nicht überprüft wurden, angezeigt werden.

Bei Verzweigungsversionierung können Sie auch einen Überprüfungshinweis hinzufügen. Klicken Sie mit der rechten Maustaste auf ein Feature, klicken Sie auf Überprüfungshinweis hinzufügen, und geben Sie einen Text in das Textfeld Überprüfungshinweis hinzufügen ein. Wenn Sie einen vorhandenen Überprüfungshinweis bearbeiten möchten, dann klicken Sie mit der rechten Maustaste auf ein Feature und klicken dann auf Überprüfungshinweis bearbeiten.

Hinweis:

Überprüfungshinweise werden beim nächsten "Abgleichen und Zurückschreiben"-Vorgang gelöscht.

Lösen von Konflikten

Beim Lösen von Konflikten entscheiden Sie, welche Repräsentation der Features und Attribute Sie beibehalten möchten. Nach dem Abgleichvorgang können Sie in der Ansicht "Konflikte" die beizubehaltende Repräsentation angeben. Beachten Sie, dass die Verwendung der Ersetzungsoptionen in der Ansicht "Konflikte" einem Änderungsvorgang entspricht.

Klicken Sie in der Liste Unterschiede mit der rechten Maustaste auf die Version, das Dataset, das Feature oder das Attribut, und wählen Sie eine der folgenden Ersetzungsoptionen aus:

  • Durch aktuelle Version ersetzen
  • Durch Zielversion ersetzen
  • Durch gemeinsame Vorgängerversion ersetzen

Für die Konfliktlösung stehen die folgenden Ersetzungsmöglichkeiten zur Verfügung:

  • Attributersetzung

    Diese Ersetzung erfolgt auf Feldebene. Wenn Konflikte in Attributen vorliegen, können Sie nur 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 Menü 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 die 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

    Diese Ersetzung erfolgt auf Stammverzeichnisebene. Mit dieser Option werden sämtliche in Konflikt stehenden Features und Feature-Classes in der Liste durch die angegebene Repräsentation ersetzt. Wenn mehrere Feature-Classes und 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 während eines Abgleichs Konflikte festgestellt werden, kann es vorkommen, dass Sie wünschen, dass Änderungen an Feldern oder einer Reihe von Feldern beibehalten 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 in der Version vorgenommenen Änderungen in ein Feld geschrieben.

Mit dem Werkzeug Feld-Konfliktfilter hinzufügen können Sie die Felder definieren, die in Konflikten herausgefiltert werden sollen. 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 in der Zielversion für diese Felder bestehen, werden beim Abgleich alle Felder (gefiltert und nicht gefiltert), die in Konflikt stehen, in der Ansicht "Konflikte" identifiziert.

Nach Verzweigung versionierte Daten werden immer in der Editierversion abgeglichen. Felder mit einem Konfliktfilter enthalten den Wert aus der Editierversion.

Mit dem Werkzeug Feld-Konfliktfilter entfernen können Sie diese Konfliktfilter aus den Feldern entfernen.

Hinweis:

Services mit nach Verzweigung versionierten Daten müssen neu gestartet werden, damit Änderungen der Werkzeuge Feld-Konfliktfilter hinzufügen oder Feld-Konfliktfilter entfernen wirksam werden.

Mit der Python-Funktion ListFieldConflictFilters können Sie ermitteln, ob für eine Feature-Class oder -Tabelle Konfliktfilter definiert wurden.

Lösen von Konflikten mit Attributregeln

Attributregeln vereinfachen die Bearbeitung und verbessern die Datenintegrität für Geodatabase-Datasets. Bei der Durchführung eines Abgleichs, bei dem Konflikte durch ein Attribut (eine Spalte) definiert sind, werden sofortige Berechnungs- oder Einschränkungsregeln für die Features ausgewertet, die sowohl in der Default-Version als auch in der abzugleichenden Version aktualisiert wurden. Wenn eine Einschränkungsregel verletzt wird, findet die Zusammenführung nicht statt, und das Feature wird zu einem Konflikt der Kategorie "Aktualisieren-Aktualisieren" hochgestuft und kann in der Ansicht "Konflikte" überprüft werden.

Lösen von Konflikten mit Beziehungsklassen

Mit Beziehungsklassen lässt sich die referenzielle Integrität zwischen verbundenen Objekten besser durchsetzen. Wenn nach Verzweigung versionierte Datenquellen an einer Beziehungsklasse beteiligt sind, werden beim Abgleich die Daten hinsichtlich der referenziellen Integrität ausgewertet. Wenn die referenzielle Integrität verletzt wird, werden die beteiligten Features als Konflikte gemeldet und können in der Ansicht "Konflikte" überprüft werden.

Wenn ein Feature aus einer ursprünglichen Beziehungsklasse gelöscht wird, kann dies eine Meldung auslösen, die darauf hinweist, dass ein Feature aus der Zielbeziehungsklasse gelöscht werden soll. Daher müssen Sie sich der Folgen bewusst sein, zu denen das Bearbeiten von Konflikten mit Feature-Classes, die an Beziehungsklassen beteiligt sind, führen kann.

Im Folgenden ist ein Beispiel eines Konflikts dargestellt, der zwischen Beziehungsklassen auftreten kann:

  • Sie aktualisieren das Primärschlüsselfeld in der Ursprungsklasse, wodurch die Beziehung in Version A aufgehoben wird.
  • Gleichzeitig aktualisieren Sie das auf die Zielklasse bezogene Feature in Version B.
  • Da die Zielklasse von der ursprünglichen Klasse abhängig ist, wird beim Abgleichen der Versionen ein Konflikt festgestellt.

Weiteres Beispiel:

  • In einem Feature-Dataset zu Stromversorgern löschen Sie einen Mast mit einer Beziehung zu einer Umspannstation, wodurch die zugehörige Umspannstation ebenfalls gelöscht wird.
  • In einer anderen, gleichzeitig stattfindenden Editiersitzung ändert ein Bearbeiter die Attribute der Umspannstation, die Sie eben indirekt durch das Löschen des zugehörigen Mastes gelöscht haben.
  • Beim Abgleichen der Änderungen wird ein Konflikt zwischen dem Aktualisieren und dem Löschen entdeckt.
Wenn in diesem letzten Beispiel ein zweiter Bearbeiter alle Konflikte durch die Repräsentationen in der Editiersitzung ersetzt hat, werden der Mast und die Umspannstation, die in Ihrer Editiersitzung gelöscht wurden, neu erstellt. Zudem wird die Umspannstation aus der Sitzung des zweiten Bearbeiters erstellt, wodurch Sie über zwei Umspannstationen verfügen. Auf der Karte können Sie dies möglicherweise gar nicht erkennen, da die Umspannstationen in diesem Fall übereinander positioniert sind. In der Attributtabelle sind jedoch zwei Datensätze für die Umspannstation vorhanden.

Zurückschreiben von Änderungen

Um Änderungen in die Default-Version zurückzuschreiben, nachdem Sie abgeglichen und Konflikte überprüft haben, klicken Sie auf der Registerkarte Versionierung in der Gruppe Versionierung auf Zurückschreiben.

Beim Zurückschreibungsprozess können eventuell Konflikte erkannt werden. Dies kann vorkommen, wenn nach dem Abgleich und vor dem Zurückschreiben Bearbeitungen an der Default-Version vorgenommen werden. Dies können direkte Bearbeitungen der Default-Version oder Bearbeitungen sein, die von anderen benannten Versionen zurückgeschrieben wurden. In diesem Fall wird ein Fehler zurückgegeben, und Sie müssen den Abgleichvorgang vor dem Zurückschreiben erneut durchführen.

Nachdem Änderungen zurückgeschrieben wurden, können sie nicht rückgängig gemacht werden, da sie auf die Zielversion angewendet wurden.

Wenn es Konflikte gibt, die nicht explizit als überprüft markiert wurden, wird beim Zurückschreiben ein Dialogfeld angezeigt, in dem Sie darauf hingewiesen werden, dass nicht überprüfte Konflikte automatisch gelöst werden. Durch Klicken auf Ja werden Konflikte automatisch mit den Optionen gelöst, die Sie im Dialogfeld Abgleichen ausgewählt haben, und die Änderungen werden in die Zielversion zurückgeschrieben.

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.