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. Es gibt zwei Aktualisierungsbefehle (verfügbar im Kontextmenü der Ressourcen in der Sicht), um die unterschiedlichen Konfliktarten zu behandeln: Aktualisieren und Überschreiben und Aktualisieren. Wenn Sie den Befehl Update in der Sicht 'Synchronisieren' auswählen, werden alle eingehenden und automatisch mischbaren, im Konflikt stehenden Änderungen verarbeitet, während Konflikte, die nicht automatisch gemischt werden können, nicht aktualisiert werden (alle erfolgreich verarbeiteten Dateien werden aus der Sicht entfernt). Der Befehl Überschreiben und Aktualisieren verarbeitet Konflikte und ersetzt die lokalen Ressourcen durch die fernen Inhalte. 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 in der Sicht 'Synchronisieren' einen Vorgänger einer Gruppe von eingehenden Änderungen auswählen, wird die Operation an allen zugeordneten untergeordneten Elementen durchgeführt. Wenn Sie zum Beispiel den obersten Ordner auswählen und Aktualisieren wählen, werden alle eingehenden und automatisch mischbaren, im Konflikt stehenden Änderungen verarbeitet und alle anderen 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