Категории программ

Новые программы

Apache Subversion

10 апреля, 2014 0

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

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

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

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

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

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

Возможности Apache Subversion

создания ветвей (копированием директорий) и работы с ними;
слияние ветвей (переносом изменений).

непосредственный доступ на локальной файловой системе;
по собственному сетевому протоколу;
через веб-сервер по протоколу WebDAV/DeltaV.

база данных или набор обычных файлов.

Недостатки Apache Subversion

Apache Subversion не всегда может правильно обработать операции переименования файлов, если одновременно с переименованием изменяется и содержимое файла. Проблемы могут также возникнуть, если файл, переименованный в локальной копии, кто-то другой изменил в хранилище. Часть этих проблем исправлена в версии 1.5, однако это решение пока не полное.

Также слабым местом Apache Subversion считают операции слияния веток. До версии 1.5 все такие операции пользователям приходилось отслеживать вручную, с помощью подробных записей в журнале изменений. Начиная с версии 1.5 появилась базовая поддержка автоматического отслеживания слияний, которую разработчики планируют улучшить в последующих релизах. В настоящее время Apache Subversion достаточно хорошо поддерживает типовые сценарии слияния; в более сложных случаях возможны проблемы. Рекомендуется организовать рабочий процесс так, чтобы избежать проблемных сценариев. Слияние переименованных файлов и директорий не поддерживается.

Информация, однажды помещённая в хранилище Apache Subversion, остаётся там навсегда: файл можно удалить в текущей ревизии, но всегда есть возможность получить из хранилища одну из предыдущих ревизий, в которых файл существовал. Хотя сохранность прошлых ревизий и является, собственно, целью использования систем управления версиями, иногда бывает необходимо полностью удалить из хранилища информацию, попавшую туда по ошибке. В Apache Subversion не предусмотрено для этого никакого штатного способа; единственная возможность заключается в создании дампа хранилища, его обработке штатной утилитой svndumpfilter и последующем восстановлении хранилища из дампа. Существуют также сторонние программы для автоматизации этого процесса, но, в любом случае, для выполнения этой операции требуется временное прекращение доступа к хранилищу и вмешательство администратора с привилегиями, достаточно высокими для того, чтобы полностью стереть старое хранилище и заменить его новым.

засоряет файловую структуру проекта. Начиная с версии 1.7 в корне рабочей копии проекта создаётся одна директория .svn, метаданные в которой сохраняются с использованием SQLite.

Apache Subversion

Ссылки

Сайт Apache Subversion

Скачать Apache Subversion 32-bit

Скачать Apache Subversion 64-bit

Разработчику , Системы управления версиями

Оставить комментарий

*