Auflösen von Konflikten

Konflikte können immer dann auftreten, wenn Sie eine Datei ändern und gleichzeitig ein anderer Entwickler Änderungen an derselben Datei durchgeführt hat. Solche Konflikte werden von CVS beim Aktualisieren entdeckt. CVS versucht dann, die von dem anderen Entwickler durchgeführten Änderungen mit Ihrer lokalen Kopie zusammenzuführen. Das schlägt dann fehl, wenn sich Ihre Änderungen mit denen des anderen Entwicklers überschneiden. Der CVS-Server gibt in diesem Fall eine Fehlermeldung aus.

In der Hauptansicht von Cervisia werden Dateien mit Konflikten durch den Text Konflikt in der Status-Spalte und durch Rotfärbung gekennzeichnet. Es ist Ihre Aufgabe, diese Konflikte vor dem Einspielen der Dateien aufzulösen. CVS wird sich weigern, Dateien mit Konflikten einzuspielen, bis Sie sie bearbeitet haben. Natürlich können Sie Konflikte auf die traditionelle Art durch Doppelklick und anschließendes Bearbeiten der Datei im Editor auflösen.

CVS markiert Stellen an denen Konflikte auftreten in den Dateien wie folgt:

<<<<<<<
Änderungen in der Arbeitskopie
=======
Änderungen im CVS-Archiv
>>>>>>> Revisionsnummer

Sie sollten den gesamten Block durch eine zusammengeführte Version ersetzen. Beim Auflösen der Konflikte haben Sie große Freiheiten. Sie können bei jedem Konflikt entscheiden, ob Sie die eine oder die andere Variante beibehalten wollen. Genausogut können Sie beide Änderungen verwerfen und die komplette Funktion oder sogar die ganze Datei neu schreiben.

Glücklicherweise bietet Cervisia eine schöne Oberfläche, um Konflikte zu behandeln. Das bedeutet nicht, dass Sie niemals Dateien von Hand bearbeiten müssen, aber einfache Konflikte lassen sich so ohne manuelles Editieren lösen. Um den Dialog Auflösen von Konflikten zu verwenden, wählen Sie DateiKonflikte auflösen ... aus dem Menü, oder klicken Sie mit der rechten Maustaste auf eine der markierten Dateien und wählen Sie aus dem Kontextmenü Konflikt auflösen.

Abbildung 3.3. Ein Bildschirmfoto des Dialogs Auflösen von Konflikten

Ein Bildschirmfoto des Dialogs „Auflösen von Konflikten“

Im oberen Teil des Dialogs sehen Sie auf der linken Seite Ihre Version (A): und auf der rechten Seite die Andere Version (B):, die im CVS-Archiv vorliegt. Die Unterschiede zwischen den Dateien sind rot markiert. Unterhalb der beiden Versionen sehen Sie die Zusammengeführte Version:, die gespeichert wird, sobald Sie den Knopf Speichern betätigen.

Mit den Knöpfen << und >> können Sie zwischen den abweichenden Bereichen hin- und herschalten. Sie können im Dialog sehen, welcher Abschnitt gerade markiert ist. Die Anzeige 2 von 3 bedeutet, dass Sie sich gerade im zweiten von insgesamt drei voneinander abweichenden Bereichen befinden.

In jedem Abschnitt können Sie sich für eine der beiden Versionen entscheiden, die dann in der zusammengeführten Datei gespeichert wird. Mit dem Knopf A übernehmen Sie Ihre Version, mit dem Knopf B die Version aus dem CVS-Archiv. A+B bedeutet, dass beide Versionen übernommen werden, erst Ihre, dann die aus dem Archiv. Auch mit B+A werden beide Versionen übernommen, jedoch in umgekehrter Reihenfolge; zuerst die aus dem Archiv, dann Ihre.

Sollten Sie mit einer der Versionen nicht zufrieden sein, können Sie mit dem Knopf Bearbeiten einen einfachen Editor zum Bearbeiten des Abschnitts öffnen. Sind Sie damit fertig, drücken Sie OK um zum Dialog Auflösen von Konflikten zurück zu kehren und die weiteren Konflikte aufzulösen. In der Zusammengeführten Version: sehen Sie nun die eben gemachten Änderungen.

Um die Änderungen zu speichern und die Arbeitskopie zu überschreiben, drücken Sie Speichern. Beachten Sie, dass alle Abschnitte gespeichert werden, nicht nur der aktuell angezeigte. Möchten Sie die Änderungen in eine andere Datei speichern, drücken Sie Speichern unter .... Zum verlassen des Dialoges drücken Sie Schließen. Wenn Sie den Dialog schließen, ohne zu speichern, gehen die Änderungen verloren.