Podczas pracy nad projektem w środowisku roboczym inni członkowie zespołu mogą zatwierdzać zmiany w kopii projektu znajdującej się w repozytorium. Aby pobrać te zmiany, można "zaktualizować" środowisko robocze tak, aby jego stan był identyczny jak stan rozgałęzienia. Widoczne zmiany będą odnosiły się do rozgałęzienia, które zostało skonfigurowane w projekcie środowiska roboczego w celu współużytkowania. Użytkownik może decydować, kiedy należy wykonać aktualizację.
Komendę aktualizacji można uruchomić z menu Zespół > Aktualizacja lub w widoku Synchronizacja. Aby zrozumieć różnice między tymi dwoma komendami, należy poznać trzy różne typy zmian przychodzących.
Po wybraniu opcji Zespół > Aktualizacja treść zasobów lokalnych zostanie zaktualizowana przez wprowadzenie zmian przychodzących wszystkich wymienionych powyżej typów. W przypadku konfliktów niesprzecznych i automatycznie scalanych nie są wymagane żadne dodatkowe akcje (w przypadku konfliktów automatycznie scalanych zmieniony zasób lokalny jest przenoszony do pliku z przedrostkiem ".#" w celu zabezpieczenia przed niepożądanymi efektami automatycznego scalenia). W przypadku konfliktów niescalanych automatycznie zmiany są scalane z zasobem lokalnym przy użyciu specjalnego tekstu języka znaczników systemu CVS (w przypadku plików ASCII), bądź zmieniony zasób lokalny jest przenoszony do pliku z przedrostkiem ".#" (w przypadku plików binarnych). Odpowiada to zachowaniu wiersza komend systemu CVS, ale może powodować problemy w przypadku połączenia z mechanizmem automatycznego budowania platformy Eclipse. Ponadto przed zaktualizowaniem jakichkolwiek zasobów lokalnych należy sprawdzić istniejące zmiany przychodzące. Przedstawione tu problemy są rozwiązywane w widoku synchronizacji.
Aby otworzyć widok synchronizacji w trybie zmian przychodzących:
W trybie zmian przychodzących będą wyświetlane zmiany, które zostały wprowadzone w rozgałęzieniu od czasu ostatniej aktualizacji. W widoku będzie można sprawdzić typ każdej zmiany przychodzącej. Istnieją dwie komendy aktualizacji (dostępne w menu kontekstowym dowolnego zasobu w widoku), które umożliwiają pracę z różnymi typami konfliktów: Aktualizuj i Zastąp i aktualizuj. Po wybraniu komendy Aktualizuj w widoku synchronizacji zostaną przetworzone wszystkie wybrane zmiany przychodzące, które są sprzeczne i automatycznie scalane. Z kolei zmiany sprzeczne, które nie są scalane automatycznie, nie zostaną zaktualizowane (pomyślnie przetworzone pliki są usuwane z widoku). Działanie komendy Zastąp i aktualizuj dotyczy tylko konfliktów i powoduje zastąpienie zasobów lokalnych treścią zdalną. Takie "zastępowanie" jest rzadko konieczne. Alternatywne rozwiązanie zostanie opisane poniżej.
Aby zaktualizować pliki niesprzeczne i automatycznie scalane:
Jeśli lokalne środowisko robocze zawiera zmiany wychodzące, które nie są scalane automatycznie ze zmianami przychodzącymi z rozgałęzienia, zamiast wykonywać komendę Zastąp i aktualizuj można ręcznie scalić różnice ze środowiskiem roboczym, wykonując następujące czynności:
Uwaga: Podczas aktualizacji treść repozytorium nie jest zmieniana. Zaakceptowanie zmian przychodzących powoduje ich zastosowanie w środowisku roboczym. Repozytorium jest modyfikowane tylko w czasie zatwierdzenia zmian wychodzących.
Wskazówka: Wybranie w widoku synchronizacji elementu nadrzędnego zestawu zmian przychodzących spowoduje wykonanie operacji na wszystkich elementach potomnych tego elementu nadrzędnego. Na przykład wybranie folderu najwyższego poziomu i wybranie opcji Aktualizuj spowoduje przetworzenie wszystkich zmian przychodzących, które powodują konflikty i są automatycznie scalane, jak również pominięcie pozostałych zmian przychodzących.
Ostrzeżenie: Opisane powyżej działanie komendy Zastąp i zatwierdź dotyczy tylko trybu zmian przychodzących w widoku synchronizacji. W Trybie zmian przychodzących/wychodzących działanie tej komendy dla zmian przychodzących i konfliktów jest identyczne, ale powoduje cofnięcie zmian wychodzących i przywrócenie oryginalnej treści repozytorium. Używając tej komendy w trybie zmian przychodzących/wychodzących, należy zachować szczególną ostrożność.
Programowanie zespołowe za pomocą systemu CVS
Synchronizowanie z repozytorium CVS
Zatwierdzanie
Rozwiązywanie konfliktów
Porównywanie zasobów
Cykl życia kontroli wersji: Dodawanie i ignorowanie zasobów