Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Instrumentalnye_sredstva_informatsionnykh_siste....docx
Скачиваний:
29
Добавлен:
28.04.2019
Размер:
3.46 Mб
Скачать
      1. История и статус

CVS является развитием более ранней системы управления версиями, имеющей название Revision Control System (RCS), которая всё ещё используется для работы с отдельными файлами, но не целыми проектами. Дик Грун привёл краткие исторические сведения о CVS на своей страничке. Вольный перевод части текста:

CVS был создан для того, чтобы иметь возможность работы с двумя моими студентами над C компилятором ACK (Amsterdam Compiler Kit). У нас троих был почти несовместимый по времени график (один студент имел постоянное место работы, второй появлялся нерегулярно, а я мог работать над проектом только по вечерам). Их проект длился с июля 1984 по август 1985. CVS изначально назывался cmt, по причине того, что он позволил нам фиксировать версии независимо (от английского commit — фиксировать, совершать).

Код впервые увидел свет в конференции mod.sources 23 июня 1986 годa.

Код, который в конце концов приобрёл вид текущей версии CVS, был начат совместно с Брайаном Берлинером в апреле 1989 года, с последующими дополнениями от Джеффа Полка и других участников. Брайан Берлинер написал документ, описывающий улучшения программы CVS, которые она успела приобрести за время внутреннего использования в Prisma — стороннем разработчике ядра SunOS, после чего Брайан выпустил её на всеобщее обозрение под лицензией GPL.

На сегодняшний день код CVS поддерживает группа добровольцев. Интересен тот факт, что версия CVS для Microsoft Windows, отделившаяся в отдельный проект CVSNT, сейчас достаточно активно расширяет возможности системы даже портируя изменения обратно на UNIX под именем CVSNT.

Отношение CVS к проекту GNU может трактоваться неоднозначно: на одной странице сайт GNU распространяет программу как «пакет GNU», а на другой CVS находится в разделе «другой проект под лицензией GPL». На FTP-сервере программа находится в директории /non-gnu/.

      1. Недостатки

  • Невозможно переименовать файл или директорию так, чтобы это изменение было отражено в истории.

  • Ограниченная поддержка юникода и не-ASCII имен.

  • Публикации изменений не атомарны.

  • Наборы изменений не поддерживаются.

  • Неэффективное хранение бинарных файлов.

  • Оригинальный GNU CVS не поддерживает разграничения прав между пользователями репозитория

    1. Subversion (SVN)

Subversion (также известная как «SVN») — свободная централизованная система управления версиями, официально выпущенная в 2004 году компанией CollabNet Inc.

Цель проекта — заменить собой распространенную на тот момент систему Concurrent Versions System (CVS), которая ныне считается устаревшей. Subversion реализует все основные функции CVS и свободна от ряда недостатков последней.

В настоящее время Subversion используется многими сообществами разработчиков открытого программного обеспечения (в том числе сообществами, ранее использовавшими CVS). В их числе такие известные проекты, как Apache, GCC, Free Pascal, Python, PHP, Ruby, Mono, FreeBSD, Haiku, AROS и MediaWiki. Subversion также широко используется в закрытых проектах и корпоративной сфере. Хостинг Subversion, в том числе для проектов с открытым кодом, также предоставляют популярные хостинг-проекты SourceForge.net, Tigris.org, Google Code и BountySource.

В 2007 году независимая компания Forrester Research, сравнивая преимущества и недостатки различных систем, оценила Subversion как «единоличного лидера в категории Standalone Software Configuration Management (SCM) и сильного участника в категории Software Configuration and Change Management (SCCM)».

По данным статистики использования пакетов Linux-дистрибутивов Debian и Ubuntu, количество активных пользователей Subversion примерно такое же, как у Git, и превосходит аналогичный показатель для CVS, Mercurial и Bazaar (по состоянию на июнь 2011 года).

В качестве официальной документации позиционируется книга издательства O'Reilly Media, выложенная в свободный доступ на сайте http://svnbook.red-bean.com/ и дописываемая авторами по мере выхода новых версий SVN. Там же публикуются её переводы на ряд языков, в том числе русский, но при том, что англоязычные версии книги сейчас описывают версии 1.6 и 1.5, на русском языке имеются лишь книги, описывающие версии до 1.4 включительно.