Rozdíl mezi CVS a SVN

CVS vs. SVN

CVS (Concurrent Versions System) a SVN (SubVersioN) jsou dva systémy souborů pro správu verzí, které běžně používají týmy, které spolupracují na jednom projektu. Tyto systémy umožňují spolupracovníkům sledovat provedené změny a vědět, kdo vyvíjí, které a zda by se pobočka měla použít na hlavní kmen nebo ne. CVS je mnohem starší ze dvou a je to standardní nástroj pro spolupráci pro mnoho lidí. SVN je mnohem novější a přináší řadu vylepšení, která řeší požadavky většiny lidí.

Pravděpodobně největším zlepšením SVN je přidání atomových závazků. Atomové odevzdání umožňuje, aby byl každý závazek uplatněn v plném rozsahu nebo vůbec. To může být docela užitečné, když server havaruje uprostřed potvrzení. U SVN lze odevzdání vrátit zpět, zatímco CVS nemohlo vrátit zpět dílčí potvrzení. Dalším doplňkem je schopnost čistě přejmenovat a přesunout soubory v úložišti. U SVN soubory, které byly přejmenovány nebo odstraněny, stále nesou historii revizí a metadata. CVS také nemůže tlačit žádné nové změny do rodičovských úložišť, zatímco toho lze dosáhnout pomocí SVN pomocí některých nástrojů. Tyto funkce CVS jednoduše nepodporují nebo nebyly součástí jeho počátečního návrhu a pro některé lidi často způsobují mnoho problémů.

Pokud jde o přístup k síti buď prostřednictvím sítě, oba protokoly podporují proprietární protokoly, které lze tunelovat prostřednictvím připojení SSH, aby byla zajištěna bezpečnost informací přenášených sítí. SVN přidává trochu více s WebDAV + DeltaV. Tento protokol je založen na HTTP a HTTPS a poskytuje uživatelům další možnost připojení k SVN.

Pro většinu lidí, kteří začínají SVN a CVS, je SVN vynikající a logickou možností mezi nimi. Poskytuje uživateli správnou sadu funkcí, která odpovídá jeho potřebám. Jediný důvod, proč pokračovat v používání CVS, je, pokud jste přilepeni na starém systému, který je docela obtížné přesunout do systému SVN.

Souhrn:
1. SVN je novější a pokročilejší ve srovnání s mnohem starším CVS
2. SVN umožňuje atomové odevzdání, zatímco CVS nikoli
3. SVN umožňuje přejmenování a přesun, zatímco CVS ne
4. SVN umožňuje šíření změn v nadřazených úložištích, zatímco CVS nikoli
5. SVN podporuje dva síťové protokoly, zatímco CVS podporuje pouze jeden