CVS и Subversion

Anonim

CVS против Subversion

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

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

CVS использует архитектуру клиентского сервера - это означает, что сервер хранит текущую версию (или версии) конкретного проекта, а также сохраняет свою историю. Затем клиент подключается к серверу как средство «проверить» копию проекта, который был завершен до его подключения к серверу. Затем клиент может работать над этой копией проекта, а затем проверять изменения, которые он сделал позже. Помимо того, что один клиент может зарегистрировать копию определенного проекта, CVS позволяет нескольким клиентам работать и одновременно проверять один и тот же проект. Клиенты смогут изменять файлы в своей рабочей копии проекта и отправлять эти изменения на сервер.

Subversion совершает транзакции, т. Е. Создает набор предварительных изменений и делает их постоянными - как истинные атомы (или ряд операций с данными, в которых либо все происходит, либо ничего не происходит). Subversion также позволяет пользователям переименовывать, копировать, перемещать и / или удалять файлы; однако эти файлы сохранят свою полную историю изменений. Эта система использует анализируемый вывод, изначально проект библиотеки на уровне клиент / сервер, а ветвление и тегирование - как дешевые операции (независимо от размера файла). Существуют языковые привязки для PHP, Python, Perl и Java. Subversion также стоит в соответствии с размером изменения, а не размером данных.

CVS может поддерживать разные ветви проекта, т. Е. Различные аспекты или перестановки одного и того же проекта могут отходить от исходного проекта, а CVS будет поддерживать все версии (выпущенная версия проекта формирует одну ветку для исправлений ошибок, тогда как другая версия, которая в настоящее время разрабатывается, может содержать новые функции и основные изменения и, например, формировать ветвь одного и того же проекта).

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