Разница между CVS и Subversion

CVS против Subversion

Concurrent Versions System (также известная как Concurrent Versioning System или 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 использует анализируемый вывод.