Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Андрей Шетухин, Ольга Никулина
Прогресс в области разработки систем контроля версий не стоит на месте. Представляем вам Subversion – современную замену устаревшей системы CVS.
Что такое Subversion?
Если коротко, Subversion – это свободно распространяемая система контроля
версий, призванная заменить собой устаревшую систему CVS. Subversion
используется такими программистскими коллективами, как команда разработчиков
компиляторов GNU, KDE Development Team, разработчиками СУБД Ingres, Apache
Software Foundation, Samba и многими, многими другими. Далеко не полный список
проектов, исходные коды которых хранятся в Subversion, доступен по ссылке:
CVS vs Subversion
Поскольку Subversion разрабатывалась как продвинутая замена CVS, изначально ставилась задача: сохранить всю привычную функциональность при добавлении новых возможностей. Поэтому большинство широкоиспользуемых команд Subversion имеют такой же синтаксис, как и CVS. Переход на Subversion несложен и не требует долгого привыкания.
n Атомарное принятие изменений. Поддержка атомарных коммитов позволяет либо принимать весь измененный код, либо не принимать изменения вовсе, если транзакция по каким-либо причинам (например, из-за падения канала) не была завершена. Subversion поддерживает такой режим работы и гарантирует, что репозиторий не будет содержать в себе несовместимых данных – либо репозиторий останется неизмененным, либо обновление будет полным.
n Переименование, перенос и копирование файлов и каталогов без потери версионирования и истории изменений. В отличие от CVS, которая требует вмешательства администратора сервера и ручного копирования файлов, Subversion изначально обладает такой возможностью, а при установке модуля SVN::Mirror, разработанного Chia-Ling Kao, Subversion также «обучается» клонировать данные из текущего в произвольный удаленный репозиторий.
n Права доступа к репозиторию. Вы можете назначать пользователям права доступа к различным частям репозитория, простым редактированием текстового конфигурационного файла.
n Комментарии к каждому измененному объекту. Теперь вы можете оставлять комментарий в журнале коммита к любому измененному вами файлу.
n Простота развертывания системы. Для построения полноценной работоспособной системы Subversion в большинстве случаев необходим только веб-сервер Apache2 и интерпретатор PHP, а минимальный набор утилит Subversion, позволяющий работать по протоколам SVN и SVN + SSH, вообще не требует установки стороннего ПО.
n Простота интеграции в существующую инфраструктуру сети. Доступ к репозиторию Subversion может осуществляться по протоколам HTTP, HTTPS, SVN, SVN+SSH, из набора которых вы сможете легко выбрать наиболее подходящий для заданной конфигурации сети.
n Разнообразные веб-интерфейсы для доступа к репозиторию. На текущий момент доступно около десятка программ для работы с репозиторием SVN: ViewCVS, SVN::Web, WebSVN, ViewSVN, mod_svn_view, Chora, Trac, SVN::RaWeb::Ligh, SVN Browser, Insurrection и т. д. В данной статье мы рассмотрим настройку WebSVN как наиболее простого и в то же время функционального инструмента.
n Кроме утилит командной строки, доступны также графические интерфейсы: кроссплатформенный RapidSVN, TortoiseSVN – плагин для MS Windows Explorer, а также – Jsvn, написанный на Java и доступный везде, где есть Java-машина.
n Ну и, наконец, лицензия. Subversion – программное обеспечение с открытым кодом и распространяется по лицензии Apache/BSD-style.
Что входит в состав пакета Subversion
n svn – клиент Subversion. Представляет собой утилиту командной строки, осуществляющую доступ к репозиторию Subversion.
n svnversion – программа, показывающая состояние компонент текущего репозитория.
n svnlook – утилита для контроля репозитария Subversion.
n svnadmin – утилита для создания, управления и восстановления репозитария Subversion.
n svndumpfilter – программа фильтрации дампов репозитория Subversion.
n mod_dav_svn – модуль для веб-сервера Apache2, предоставляющий доступ в репозиторий Subversion по протоколам HTTP и HTTPS.