Jednym z powodów, dla których programiści wolą SVN od CVS, jest to, że pozwala na zatwierdzanie atomów? Co to znaczy ?
svn
versioning
cvs
Maniak
źródło
źródło
Odpowiedzi:
Oznacza to, że kiedy wykonujesz zatwierdzenie w systemie kontroli wersji, albo wszystko, co chcesz zatwierdzić, przechodzi, LUB nic nie robi.
W CVS, kiedy próbujesz zatwierdzić, możliwe jest, że zatwierdzenie zakończy się powodzeniem na kilku plikach, a następnie zawiedzie na kilku innych (ponieważ zostały zmienione). Powoduje to, że repozytorium znajduje się w niefortunnym stanie, ponieważ nie ma połowy twojego zatwierdzenia i jest prawdopodobne, że pozostawiłeś rzeczy w stanie, w którym nie będą się kompilować lub gorzej. Teraz musisz się spieszyć i zintegrować wszelkie zmiany, abyś mógł zatwierdzić inne pliki, zanim ktoś inny będzie musiał zaktualizować i uzyskać zepsuty zestaw zmian.
W SVN tak się nie stanie - SVN albo zatwierdzi wszystko, co zmieniłeś, albo zawiedzie cały zestaw zmian. Dlatego nigdy nie pozostawisz repozytorium w stanie uszkodzonym z powodu problemów z zatwierdzaniem.
źródło
Jest to wyjaśnione np. W Żegnaj CVS. Zostałem przemycony artykuł napisany przez Andy'ego Lestera :
Fakt, że CVS zmusza programistę do natychmiastowego naprawienia scalenia, jest tak nieproduktywny, jak to tylko możliwe. W porównaniu z tym znaczącą zaletą jest opcja opóźnienia / anulowania / ostrożnego scalenia zmian.
Inne zalety SVN w stosunku do CVS wyjaśnione w powyższym artykule to:
źródło
Oznacza to, że wszystkie zmiany we wszystkich plikach są zatwierdzane w jednej transakcji, więc albo wszystkie zakończą się powodzeniem, albo żadna.
Oznacza to, że rzadziej wprowadzane są częściowe zmiany w repozytorium, co powoduje niepowodzenia kompilacji. Nadal możesz sprawić, że ludzie zapominają o sprawdzeniu wszystkich odpowiednich plików, ale jest to raczej problem procesowy niż problem z systemem kontroli wersji.
źródło