Разлика между CVS и Subversion

CVS срещу Subversion

Системата за едновременни версии (известна също като система за съвместно версиране или CVS) е безплатна система за контрол на ревизията на софтуера - това е програма, която е отворена за използване за обществеността, която управлява промените в документи, програми и друга информация, съхранявана в компютър файлове). Тя позволява на множество разработчици да си сътрудничат.

Subversion (известна още като SVN) е система за контрол на версиите, използвана за поддържане на текущата и предходната версия на файлове (като изходен код, уеб страници и документация). Това е пряко надграждане на CVS и най-съвместимия му приемник. Освен това е технология с отворен код и е широко използвана в множество проекти - като Apache Software Foundation, Free Pascal, MediaWiki и Google code.

CVS използва архитектура на клиентски сървър - това означава, че сървърът съхранява текуща версия (или версии) на определен проект, както и запазване на неговата история. След това клиентът се свързва със сървъра като средство за „проверка“ на копие от проекта, който е завършен преди неговото свързване със сървъра. След това клиентът може да работи върху това копие на проекта и след това да провери промените, които е направил по-късно. Освен че позволява на един клиент да се регистрира върху копие на определен проект, CVS позволява на множество клиенти да работят и да се регистрират по един и същ проект едновременно. Клиентите ще могат да променят файловете в рамките на собственото си работно копие на проекта и да изпращат тези редакции на сървъра.

Subversion се извършва - това е, създава набор от предварителни промени и ги прави постоянни - като истински атомни (или поредица от операции с данни, в които или всичко се случва, или нищо не се случва) операции. Subversion също така позволява на потребителите да преименуват, копират, преместват и / или премахват файлове; тези файлове обаче ще запазят пълната си история на ревизиите. Тази система използва променлив изход, първоначално наслоен клиент / сървър дизайн на библиотека и разклоняване и маркиране като евтини операции (независимо от размера на файла). Има езикови връзки за PHP, Python, Perl и Java. Subversion също така струва в зависимост от размера на промяната, а не от размера на данните.

CVS може да поддържа различни клонове на проекта - тоест, различни аспекти или пермутации на един и същ проект може да се разклонят от проекта за източник и CVS ще поддържа всички версии (освободена версия на проекта формира един клон за корекции на грешки, докато различна версия, която в момента се разработва, може да съдържа нови функции и големи промени и да образува клон на същия проект, например).

Резюме:
1. CVS позволява на множество потребители да си сътрудничат в един и същ проект; Subversion поддържа текущата и предшестващите версии на файловете.
2. CVS позволява на потребителите да се регистрират в същия проект и да го променят; Subversion се извършва като истински атомни операции.
3. CVS може да поддържа различни клонове на проекта; Subversion използва променлив изход.