Zum Inhalt

Merge mit Beyond Compare

Bei einem Objektmerge mit Beyond Compare handelt es sich um ein toolunterstütztes Zusammenführen von bis zu drei Versionen einer Codedatei zu einer gemeinsamen Datei.

Der Objektmerge mit Beyond Compare kann über verschiedene Sitzungsarten durchgeführt werden. Jedoch empfiehlt sich die Verwendung des Ordnermerges oder Textmerges bei der Zusammenführung zweier Dateien auf Basis einer gemeinsamen Objektgrundlage (Original-Datei, z.B. NAV 2016 Standard), während sich die Auswahloptionen Ordnervergleich bzw. Textvergleich für den Merge zweier Dateien ohne das Vorhandensein dieser Basis (Original-Datei) eignet.

Aufbau von Beyond Compare

Die Oberfläche

Das Startmenü

Startbildschirm von Beyond Compare und die Auswahl für die Sitzungsart, die der User verwenden will.](../../assets/Sitzungsauswahl_bei_Beyond_Compare.png "verweis=http://tsowiki/wiki/index.php/Datei:Sitzungsauswahl%20bei%20Beyond%20Compare.png|miniatur|Der Startbildschirm von Beyond Compare und die Auswahl für die Sitzungsart, die der User verwenden will.") Zuerst hat der Nutzer im Startbildschirm eine Sitzungsart auszuwählen und danach den Datei-/Ordnerpfad in die dafür vorgesehene Zeile einzugeben. Wenn dies erfolgt ist, vergleicht Beyond Compare automatisch alle sich in den geöffneten Fenstern befindenden Textdateien und markiert die unterschiedlichen Stellen (Bzw. Dateien, sollte sich der Nutzer in einem Ordnermerge/-vergleich befinden) farbig. Hat der Nutzer den Vergleich bzw. den Merge mehrerer Objekte oder Ordner ausgewählt, so werden die Objekte/Dateien, welche in den jeweiligen Ordnern gefunden wurden und den selben Namen tragen, nebeneinander aufgelistet. Der Nutzer kann nun durch einen Doppelklick auf eine Zeile eine neue Sitzung mit den jeweiligen Objekten auswählen und den Merge für diese durchführen.

Die Sitzungsansicht

In der Sitzungsansicht findet der eigentliche Merge statt. Je nachdem, ob sich der Benutzer im Startmenü für einen Vergleich oder einen Merge entschieden hat, befinden sich in diesem Fenster entweder zwei oder vier Ansichtsfelder für Texte. Im Folgenden wird kurz auf diese Beiden Ansichtsarten und Ihre Vor und Nachteile eingegangen.

Ordner- und Textvergleiche

Beim Ordner- oder Textvergleich werden lediglich zwei Dateien verglichen. Der Nutzer, der jeweils eine Ausgangsdatei auf einer Hälfte der von dem Programm genutzten Bildschirmfläche sieht, übernimmt während des Merges Codebereiche, die sich verändert haben, von der einen auf die andere Seite (hierfür können die Pfeile auf der jeweiligen Seite verwendet werden). Hierfür bestimmt der Nutzer zuerst eine Seite, die die schlussendliche Ausgabedatei sein soll.

Im Anschluss entscheidet sich der Nutzer für jede Stelle, an der ein Unterschied gefunden wurde, ob er die Datei wie in der Ausgabedatei vorgefunden belässt oder durch drücken eines der Pfeile am Seitenrand der zweiten Datei den Abschnitt dieser Datei übernimmt. Alternativ können auch Textabschnitte mit der Maus markiert und anschließend durch einen 'klick' auf den Pfeil an der linken Seite übernommen werden. Des weiter können zum Übernehmen des linken bzw. rechten Abschnittes die Tastenkürzel: STRG + L / STRG + R verwendet werden.

Das Wechseln in den nächsten unterschiedlichen Abschnitt kann entweder durch Scrollen oder mit dem Tastenkürzel STRG + N erreicht werden.

Natürlich ist auch das händische Einfügen von Text auf beiden Seiten des Vergleiches jederzeit möglich.

Vorteile Nachteile
Bessere Übersichtlichkeit bei einzelnen Texten, aufgrund größerer Darstellungsweise Funktioniert nicht bei einem Drei-Wege-Merge
Einfacheres Mergen, da der Nutzer nur zwischen zwei Dateien unterscheiden muss Weglassen der Original-Datei verhindert Rückschlüsse auf den NAV-Standard
Speicherung der Ausgabedatei als eine der beiden zu mergenden Dateien Wenn der Nutzer nicht durchgängig von einer Seite auf die andere merged, wird die Ausgabedatei unbrauchbar

Ordner- und Textmerges

Beim Ordner- und Textmerge können bis zu drei Ausgangsdateien verglichen werden und das Ergebnis in einer separaten Datei gespeichert werden. Es bleibt dem Nutzer überlassen, ob er eine Grundversionsdatei in dem Mittleren Ordnerpfad/Dateipfad aufruft oder nicht. Die Ausgabedatei kann durch die Auswahl rechts oder links in dem Dateipfad der rechten oder linken Ausgabedatei gespeichert werden. Auch das angeben eines neuen Dateipfades ist möglich. Sollte keine Option ausgewählt sein, wird der Nutzer beim Speichern aufgefordert, einen Pfad zum Speichern auszuwählen.

Beim öffnen wird ein Vorschlag für die Ausgabedatei mit Hilfe der internen Mergelogik von Beyond Compare erstellt. Im Anschluss entscheidet sich der Nutzer für jede Stelle, an der ein Unterschied gefunden wurde, ob er die Datei wie im Ausgabedateivorschlag vorgefunden belässt oder durch drücken eines der Pfeile am Seitenrand der Ausgabedatei, einer der Ausgangsdateien oder in dem Zeilenvergleichsfenster zwischen den beiden in die Ausgabedatei übernimmt.. Alternativ können auch Textabschnitte innerhalb der Ausgabedatei mit der Maus markiert und anschließend durch einen 'klick' auf den Pfeil an der linken Seite übernommen werden. Des weiter können zum Übernehmen des linken bzw. rechten Abschnittes die Tastenkürzel: STRG + L / STRG + R verwendet werden.

Das Wechseln in den nächsten unterschiedlichen Abschnitt kann entweder durch Scrollen oder mit dem Tastenkürzel STRG + N erreicht werden.

Es besteht auch die Möglichkeit mithilfe einer Aktion im Menüband oder Tastenkombination Alt+N zum Nächsten Konfliktbereich zu springen. Diese Option ist allerdings nicht zu empfehlen, da in seltenen Fällen unterschiedliche Funktionen nur als Unterschiedliche Abschnitte markiert werden und durch die Verwendung der oben genannten Funktionalität unverändert übersprungen und bei Speicherung übernommen werden.

Auch ist darauf zu achten, dass nach jeder Schließung der Sitzung (selbst, wenn die Sitzung und die Ausgabedatei vorher gespeichert wurden) beim erneuten öffnen die Ausgabedatei mit dem automatischen Ausgabedateivorschlag überschrieben wird. Wird anschließend die Ausgabedatei gespeichert, so werden alle vorhergegangenen Änderungen überschrieben und unwiderruflich gelöscht.

Natürlich ist auch das händische Einfügen von Text in der Ausgabedatei jederzeit möglich.

Vorteile Nachteile
Dank der Original-Version in der Mitte lassen sich Rückschlüsse auf Standardcodeveränderungen oder nicht dokumentierte Individualanpassungen ziehen Die einzelnen Fenster sind kleiner, wodurch gerade längere unterschiedliche Passagen schwerer zu für den Nutzer zu erfassen sind.
Der Nutzer kann den Speicherort selber auswählen. Nach einer Sitzungsschließung wird beim erneuten Öffnen eine neu Ausgabedatei erzeugt.
In der Mitte des Bildschirmes wird die aktuelle Zeile in der Breite des kompletten Bildschirmes angezeigt. Generell kleinere Breiten der Fenster.

Durchführung des Objektmerges

Bei dem Merge mit Beyond wird nach dem öffnen der Datei jeden Stelle mit Änderungen einzeln vom Nutzer eingesehen und in der Ausgabedatei zusammengebracht. Verschiedene Konflikte können dabei schwer zusammenzubringen sein. Im folgenden werden einige dieser Problemstellen angesprochen. Der Leser sei an dieser Stelle jedoch darauf hingewiesen, dass es sich werde um eine vollständige Liste, noch um einen universell anwendbaren Lösungsweg handelt. Der folgende Abschnitt soll lediglich als Leitfaden dienen um einigen kritischen Fehlern vorzubeugen und eine Hilfestellung für Einsteiger zu geben.

Häufige Konflikte

Auftreten einer Funktion oder Aufrufs bei Original und Modified, jedoch nicht bei Target

Sollte das Fehlen der Funktion oder des Codeteiles undokumentiert sein, ist dieser Fall ein Hinweis darauf, dass dieser Teil des Codes im NAV-Standard weggefallen ist. In seltenen Fällen kann jedoch empfehlenswert sein, eine solche Funktion trotzdem zu behalten, da theoretisch einige Individualanpassungen diese Funktion aufrufen könnten. Sollte die Funktion gelöscht werden empfiehlt es sich daher die gelöschte Funktion bis zur Verifizierung ihrer Überflüssigkeit in einem Worddokument zwischenzuspeichern.

Änderungen an der Anzahl der Parameter

Sollte in einem Objektstand die Parameter einer Funktion angepasst worden sein, so sollte der mit dem Merge betraute Mitarbeiter sich sowohl die Funktion als auch die Parameter notieren. Veränderungen an Parametern können zu Fehlern führen, die entweder das Kompilieren verhindern oder unter Übergabe falscher Werte, trotzdem kompilierbar sein. Bei der Anpassung von Funktionsparametern ist Sorgfalt geboten.