2006/08/21

Subversion

Поставив cvs, ознакомился с аутентичными публикациями по данной теме и пришёл к выводу, что нужно переходить на subversion, пока не обустроились в cvs-среде. Subversion пришёл на смену cvs, поэтому он изначально имел несколько нововведений, которые перекрывают функциональность cvs.
"Subversion поддерживает большинство соглашений CVS , включая большую часть набора команд, поэтому пользователи CVS быстро почувствуют себя как дома. Subversion предлагает много полезных улучшений по сравнению с CVS : копирование и переименование файлов и директорий, настоящие атомарные фиксации, эффективная обработка бинарных файлов, способность сетевой работы по HTTP (HTTPS) - через WebDAV. Subversion также имеет родной Win32 клиент и сервер."
"CVS следит только за историей отдельных файлов, тогда как Subversion использует виртуальную файловую систему с возможностями управления версиями, которая способна отслеживать изменения во времени целых деревьев каталогов. Под управление версиями попадают файлы и каталоги."

Установка на Debian Etch (модуль WebDAV уже должен присутствовать в apache2):
1. Установить subversion и модуль dav_svn к apache2
apt-get install subversion
apt-get install libapache2-svn

2. Активировать модули dav и dav_svn

a2enmod dav
a2enmod dav_svn

3. Изменить содержимое файла /etc/apache2/mods-available/dav_svn.conf


DAV svn
# Путь до репозитария
SVNPath /var/lib/svn
# Включение обычной аутентификации
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
# Если раскомментировать строки Limit, то анонимные пользователи
# получат доступ на чтение к репозитарию, иначе только
# аутентифицированные пользователи имеют доступ
#
Require valid-user
#


4. Создать файл /etc/apache2/dav_svn.passwd со списком пользователей, имеющих доступ к репозитарию

htpasswd2 /etc/apache2/dav_svn.passwd programmer1
New password:
Re-type new password:
Adding password for user programmer1

5. Создать репозитарий и поправить права доступа к его административныым каталогам

svnadmin create /var/lib/svn
chown -R www-data.www-data /var/lib/svn

6. Перегрузить apache2, после этого можно с помощью svn-клиента работать с созданным репозитарием. Если необходима более гибкая настройка доступа, в модуле dav_svn имеется набор директив AuthzSVNAccess.

No comments: