Während Sie an einem Projekt in der Workbench arbeiten, können andere Mitglieder Ihres Teams Änderungen an der Kopie des Projekts im Repository festschreiben. Sie können diese Änderungen abrufen, indem Sie Ihre Workbench "aktualisieren", so dass sie mit dem Status der Verzweigung abgeglichen wird. Die angezeigten Änderungen sind für die Verzweigung spezifisch, für deren gemeinsame Benutzung Ihr Workbench-Projekt konfiguriert wurde. Sie können auswählen, wann aktualisiert werden soll.
Der Aktualisierungsbefehl kann an zwei Positionen ausgegeben werden: Im Menü Team > Aktualisieren oder in der Sicht Synchronisieren. Es ist wichtig, die drei unterschiedlichen Arten eingehender Änderungen zu kennen, um den Unterschied zwischen diesen beiden Befehlen zu verstehen.
Wenn Sie Team > Aktualisieren auswählen, wird der Inhalt der lokalen Ressourcen mit eingehenden Änderungen aller drei oben aufgeführten Arten aktualisiert. Bei Änderungen, bei denen kein Konflikt auftritt und automatisch mischbaren Konflikten wird keine weitere Aktion benötigt (bei automatisch mischbaren Konflikten wird die lokale Ressource in eine Datei mit dem Präfix ".#" versetzt für den Fall, dass das automatische Mischen nicht vom Benutzer gewünscht war). Nicht automatisch mischbare Konflikte werden in der lokalen Ressource mit Hilfe von speziellem CVS-spezifischem Formatierungstext (bei ASCII-Dateien) gemischt oder die lokale Ressource wird in eine Datei mit dem Präfix ".#" versetzt (bei binären Dateien). Dies stimmt mit dem CVS-Befehlszeilenverhalten überein, kann allerdings problematisch sein, wenn diese mit dem Eclipse-Mechanismus für das automatische Erstellen kombiniert wird. Außerdem ist es vor dem Aktualisieren lokaler Ressourcen wünschenswert zu wissen, welcher Art die eingehenden Änderungen sind. Die Sicht "Synchronisieren" befasst sich mit diesen Themen.
So öffnen Sie die Sicht "Synchronisieren" im eingehenden Modus:
Im eingehenden Modus werden Änderungen angezeigt, die in der Verzweigung seit der letzten Aktualisierung festgeschrieben wurden. Die Sicht zeigt die Art jeder eingehenden Änderung an (nicht kollidierend, automatisch mischbarer Konflikt oder nicht automatisch mischbarer Konflikt). Es gibt zwei Aktualisierungsbefehle (verfügbar im Kontextmenü der Ressourcen in der Sicht), um die unterschiedlichen Konfliktarten zu behandeln: Aus Repository aktualisieren und Überschreiben und Aktualisieren. Wenn Sie den Befehl Aus Repository aktualisieren in der Sicht "Synchronisieren" auswählen, werden lediglich nicht kollidierende Änderungen verarbeitet. Dadurch werden alle Dateien, die über automatisch mischbare und nicht automatisch mischbare Konflikte verfügen, in der Sicht gelassen (alle erfolgreich verarbeiteten Dateien werden aus der Sicht entfernt). Der Befehl Überschreiben und Aktualisieren arbeitet bei beiden Konfliktarten. Nachdem Sie diesen Befehl ausgewählt haben, werden Sie gefragt bevor ein Mischen versucht wird, und Sie werden gefragt, ob die Inhalte automatisch gemischt werden sollen oder diese mit der Repository-Datei überschrieben werden sollen. Wenn Sie das automatische Mischen auswählen, werden lediglich automatisch mischbare Konflikte verarbeitet und die eingehenden Änderungen werden mit den lokalen Änderungen automatisch gemischt. Andernfalls werden alle Konflikte verarbeitet und die lokalen Ressourcen werden mit den fernen Inhalten ersetzt. Dieses "Ersetzen" ist selten gewünscht. Eine Alternative hierzu wird unten beschrieben.
So aktualisieren Sie nicht kollidierende und automatisch mischbare Dateien:
Wenn Ihre lokale Workbench ausgehende Änderungen enthält, die nicht automatisch mischbar mit eingehenden Änderungen aus der Verzweigung sind, können Sie die Änderungen manuell in Ihrer Workbench folgendermaßen mischen statt Überschreiben und Aktualisieren auszuführen:
Hinweis: Der Repository-Inhalt wird bei der Aktualisierung nicht geändert. Wenn Sie eingehende Änderungen akzeptieren, werden diese Änderungen auf Ihre Workbench angewendet. Das Repository ändert sich nur dann, wenn Sie eigene ausgehende Änderungen festschreiben.
Tipp: Wenn Sie im Teilfenster "Strukturvergleich" einen Vorgänger einer Reihe von eingehenden Änderungen auswählen, wird die Operation auf allen untergeordneten Ressourcen ausgeführt. Wenn Sie zum Beispiel den obersten Ordner auswählen und Aus Repository aktualisieren auswählen, werden alle nicht kollidierenden eingehenden Änderungen verarbeitet und alle weiteren eingehenden Änderungen nicht verarbeitet.
Warnung: Das oben beschriebene Verhalten des Befehls Überschreiben und Aktualisieren ist lediglich für den eingehenden Modus der Sicht "Synchronisieren" gültig. Im Eingehenden/Ausgehenden Modus der Sicht ist das Verhalten bei eingehenden Änderungen und Konflikten gleich, allerdings setzt der Befehl ausgehende Änderungen auf die Repository-Inhalte zurück. Gehen Sie sehr vorsichtig vor, wenn Sie diesen Befehl im "Eingehenden/Ausgehenden Modus" verwenden.
Programmierung im Team mit CVS
Mit einem CVS-Repository synchronisieren
Festschreiben
Konflikte lösen
Ressourcen vergleichen
Lebenszyklus der Versionssteuerung: Ressourcen hinzufügen und ignorieren