W środowisku programowania zespołowego systemu CVS synchronizowanie zasobów obejmuje dwa różne procesy: aktualizowanie o najnowsze zmiany z rozgałęzienia oraz zatwierdzanie do rozgałęzienia.
Podczas wprowadzania zmian w środowisku roboczym zasoby są zapisywane lokalnie. W końcu jednak przyjdzie czas na zatwierdzenie zmian do rozgałęzienia, tak aby inni mogli uzyskać do nich dostęp. Ale w tym czasie ktoś inny może zatwierdzić swoje zmiany do rozgałęzienia. Dlatego warto zaktualizować o nie zasoby swojego środowiska roboczego.
Ważne! Aktualizację tę najlepiej wykonać przed zatwierdzeniem na wypadek konfliktów między zasobami środowiska roboczego a zasobami znajdującymi się obecnie w rozgałęzieniu.
W widoku Synchronizacja są dostępne filtry, dzięki którym można decydować, czy mają być wyświetlane tylko zmiany przychodzące czy tylko zmiany wychodzące. Zmiany przychodzące to zmiany z rozgałęzienia. Jeśli zostaną zaakceptowane, zasoby środowiska roboczego zostaną zaktualizowane do najnowszych wersji zatwierdzonych do rozgałęzienia. Zmiany wychodzące to zmiany ze środowiska roboczego. Jeśli zostaną zatwierdzone, zasoby rozgałęzienia zostaną zmienione tak, aby odpowiadały aktualnym zasobom środowiska roboczego.
Bez względu na wybrany tryb (filtr), w widoku Synchronizacja zawsze są wyświetlane konflikty występujące w sytuacji, gdy w rozgałęzieniu istnieje nowsza wersja zasobu zmodyfikowanego lokalnie. Wówczas można postąpić trojako: zaktualizować zasób z rozgałęzienia, zatwierdzić swoją wersję zasobu do rozgałęzienia lub scalić wyniki swojej pracy ze zmianami wprowadzonymi do zasobu w rozgałęzieniu. Scalenie jest zwykle najlepszym wyborem, ponieważ pozostałe dwie opcje skutkują utratą wyników pracy.
Programowanie zespołowe z użyciem systemu CVS
Rozgałęzienia
Synchronizowanie z repozytorium
Aktualizowanie
Rozwiązywanie konfliktów
Scalanie rozgałęzienia
Zatwierdzanie