Установка и настройка subversion на FreeBSD 8

Для начала маленький экскурс, что такое subversion. Subversion - свободная централизованная система управления версиями. Ее часто называют SVN. Пришла она на замену уже устаревшей CVS.

Не претендую на первооткрывателя. но все же напишу, как делаю я.

Для начала заходим под root'ом:

# sudo -s (для меня это выглядит так, Вы можете использовать другой вариант)
# su -

Далее обновляем порты, если долго этого не делали:

# cd /usr/ports
# portsnap fetch extract

Идем по пути к subversion и устанавливаем:

# cd /usr/ports/devel/subversion
# make clean install

Ждем полной установки и добавляем строки в /etc/rc.conf :

# echo 'svnserve_enable="YES"' >> /etc/rc.conf
# echo 'svnserve_flags="-d --listen-port=3690"' >> /etc/rc.conf
# echo 'svnserve_data="/home/svn/repositories"' >> /etc/rc.conf
# echo 'svnserve_user="svn"' >> /etc/rc.conf
# echo 'svnserve_group="svn"' >> /etc/rc.conf

Собственно создаем папку для репозиториев:

# mkdir /home/svn/repositories

Добавляем группу svn и пользователя в эту группу:

# pw group add svn
# pw user add svn -g svn -s /sbin/nologin -d /home/svn/repositories/

Даем права на папку с репозиториями пользователю:

# chown -R svn:svn /home/svn/

Запускаем демона:

# /usr/local/etc/rc.d/svnserve start

Первая часть закончена, теперь настроим один репозиторий для работы.

Первым делом создадим его:

# svnadmin create /home/svn/repositories/myFirstRepository
# chown -R svn:svn /home/svn/ 

Теперь настраиваем доступ к данному репозиторию, идем по пути /home/svn/repositories/myFirstRepository/conf и правим файл svnserve.conf:

# cd /home/svn/repositories/myFirstRepository/conf
# vi svnserve.conf 

Раскомментируем строки:

anon-access = none
auth-access = write
password-db = passwd 

Теперь создаем пользователей для доступа к данному репозиторию:

# vi passwd

и добавляем туда пользователя и пароль в формате user = passwd

Делаем рестарт демону:

# /usr/local/etc/rc.d/svnserve restart

Репозиторий готов к работе с клиентом.

А теперь расскажу Вам, как сделать красивую структуру в репозитории.

Директория /trunk содержит основную линию разработки проекта, /branches содержит все ветви, /tags содержит все метки.
# cd /home/svn/repositories/
# mkdir svntmp
# cd svntmp
# mkdir trunk branches tags
# cd ..
# svn import svntmp svn://user@localhost/myFirstRepository -m 'struct create' 

После этого мы получим "ровную" структуру для нашего репозитория.


Рекомендую также следующие статьи:

Один комментарий

  1. Валерий М.

    Некоторые вещи можно еще оптимизировать.

    1) Файл /usr/local/etc/rc.d/svnserve содержит параметры по умолчанию.
    Если на него внимательно посмотреть, то становится понятно, что имеет смысл создать фолдер «/home/svn/repos».
    Тогда в /etc/rc.conf придется добавить всего одну строку:
    # echo ‘svnserve_enable=»YES»‘ >> /etc/rc.conf
    Все остальные буду выставлены по умолчанию.

    2) Создать структуру можно тоже чуть-чуть изящнее:
    # cd /home/svn/repos/
    # mkdir -p /home/svn/repos/svntmp/{trunk, branches, tags}
    # svn import svntmp svn://user@localhost/myFirstRepository -m ‘struct create’

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

Вы должны быть зарегистрированы чтобы комментировать.

Потребление памяти: 28.98MB