метка: SVN

Установка и использование SVN

Задача: установить SVN для разворачивания проектов на Ruby on Rails

Система: FreeBSD 6.3

Subversion version 1.6.2

Вначале понадобится переустановить Apache с поддержкой BDB. Лучше всего сделать так:
cd /usr/ports/www/apache22/
make deinstall clean
make config (выбираем BDB)
make install clean

Устанавливаем саму систему:
cd /usr/ports/devel/subversion
make install clean

Отмечаем пункты MOD_DAV_SVN и BDB.

В /usr/local/etc/apache22/httpd.conf должны появится следующие строчки:
LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache22/mod_authz_svn.so

Создаем репозиторий

Каталог для репозитория
mkdir -p /home/svn/repos

Каталог для вашего проекта
svnadmin create /home/svn/repos/_project_/

_project_ — заменить на имя вашего проекта (каталога).

Импортируем проект в репозиторий
cd /home/_project_/
svn import ./ file:///home/svn/repos/_project_ —message ‘Initial repository layout’

Установим права веб-сервера
chown -R www:www /home/svn/

Добавить в /usr/local/etc/apache22/httpd.conf
<location /svn>
DAV svn

# разрешает выдавать перечень всех доступных хранилищ в папке SVNParentPath
SVNListParentPath on
SVNParentPath /home/svn/repos
SVNPathAuthz off

# включения базовой аутентификации, т.е. имя_пользователя/пароль
AuthType Basic
AuthName «Subversion repository»
AuthUserFile /home/svn/svn-auth-file

# предписывает, что только пользователям, предоставившим правильные имя_пользователя/пароль,
# будет разрешён доступ к URL
Require valid-user
</location>

Теперь, создадим пользователей для доступа к вашему проекту
htpasswd -cmb /home/svn/svn-auth-file _user_ _password_

и добавляем пользователей, так как ключ “-c” указывает на создание файла
htpasswd -mb /home/svn/svn-auth-file _user_ _password_

Где _user_ и _password_ — имя и пароль соответственно.

Разворачиваем проект в нужной папке:
svn checkout http://_domain_/svn/_project_

Действия в Windows

Выше описанные действия носят общий характер. Теперь посмотрим как нужно действовать при разворачивании реального проекта.
Скачиваем клиент TortoiseSVN — http://tortoisesvn.net/downloads. После установки в контекстном меню появится специальный пункт для работы с SVN.

При первом размещении репозитория действия такие:

1. Создаем репозиторий на сервере FreeBSD

Каталог для репозитория
mkdir -p /home/svn/repos

Каталог для вашего проекта
svnadmin create /home/svn/repos/_project_/

_project_ — заменить на имя вашего проекта (каталога).

Установим права веб-сервера
chown -R www:www /home/svn/

2. Импортируем проект в репозиторий

На windows машине щелкаем ПКМ на папке нужного проекта, выбираем пункт «Import» и вводим URL созданного репозитория и пароль доступа.

3. Извлекаем проект из репозитория в нужный каталог на сервере:

Заходим в папку, где будет размещен проект и извлекаем его
svn checkout http://_domain_/svn/_project_

4. Извлекаем проект на windows машину командой из контекстного меню checkout. Это нужно для нормальной работы с репозиторием. Теперь все изменения нужно вносить только в этой папке.

5. Когда произошли дополнения в проекте на windows машине делаем команду commit и все изменения уходят в репозиторий на сервер. На сервере заходим в каталог проекта и делаем команду svn up. Теперь изменения скачались из репозитория в папку проекта на сервере.

Ссылки:
http://adw0rd.ru/2009/freebsd-subversion/