CVS i SVN

Anonim

CVS vs SVN

CVS (Concurrent Versions System) i SVN (SubVersioN) to dwa systemy plików kontroli wersji, które są powszechnie używane przez zespoły współpracujące nad jednym projektem. Systemy te pozwalają współpracownikom śledzić zmiany, które są dokonywane i wiedzieć, kto się rozwija i czy gałąź powinna być zastosowana do głównej magistrali, czy też nie. CVS jest o wiele starszym z nich i jest standardowym narzędziem współpracy dla wielu osób. SVN jest znacznie nowszy i wprowadza wiele ulepszeń, aby sprostać wymaganiom większości ludzi.

Prawdopodobnie największą poprawą w stosunku do SVN jest dodanie zatwierdzeń atomowych. Atomowe zatwierdzenia pozwalają na zastosowanie każdego zatwierdzenia w całości lub wcale. Może to być przydatne, gdy serwer zawiesza się w trakcie zatwierdzania. W przypadku SVN zatwierdzenie może zostać wycofane, a CVS nie może cofnąć częściowego zatwierdzenia. Kolejnym dodatkiem jest możliwość czystego zmieniania nazw i przenoszenia plików w repozytorium. W przypadku SVN pliki, których nazwy zostały zmienione lub usunięte, nadal zawierają historię zmian i metadane. CVS nie może również przesyłać żadnych nowych zmian do repozytoriów nadrzędnych, a można to osiągnąć w SVN przy użyciu niektórych narzędzi. Funkcje te nie są po prostu wspierane przez CVS lub nie były częścią początkowego projektu i często powodują wiele problemów dla niektórych osób.

Jeśli chodzi o dostęp do sieci za pośrednictwem sieci, oba obsługują zastrzeżone protokoły, które mogą być tunelowane przez połączenie SSH w celu zapewnienia bezpieczeństwa informacji przesyłanych przez sieć. SVN dodaje trochę więcej dzięki WebDAV + DeltaV. Protokół ten oparty jest na protokołach HTTP i HTTPS i zapewnia użytkownikom inną opcję połączenia z SVN.

Dla większości ludzi, którzy dopiero zaczynają od SVN i CVS, SVN jest lepszą i logiczną opcją pomiędzy tymi dwoma. Zapewnia użytkownikowi odpowiedni zestaw funkcji odpowiadający jego potrzebom. Jedynym powodem, aby nadal używać CVS, jest utknięcie w starym systemie, który jest dość trudny do przeniesienia do systemu SVN.

Streszczenie: 1. SVN jest nowszy i bardziej zaawansowany w porównaniu do znacznie starszych CVS 2. SVN pozwala na zatwierdzenie atomowe, podczas gdy CVS tego nie robi 3. SVN umożliwia zmianę nazwy i przenoszenie, podczas gdy CVS nie 4. SVN pozwala na propagowanie zmian w repozytoriach macierzystych, podczas gdy CVS tego nie robi 5. SVN obsługuje dwa protokoły sieciowe, podczas gdy CVS obsługuje tylko jeden