Установка SVN

  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
  • Не удалось войти по OpenID.
Аватар пользователя agent

Что хотим: поднять собственный svn сервер
Что имеем: компьютер с Debian Lenny на борту

Что делаем:

Так... созрел я наконец до того, чтобы свои проекты держать в системе контроля версий. Для домашнего использования git это как из пушки во воробьям, а svn вполне должно подойти.
Перво-наперво надо поставить сам svn (в Дебиане почему-то его изначально не стоит):

1
sudo apt-get install subversion

Хранилище мы хотим организовать в /var/svn, поэтому создадим этот каталог:
1
sudo mkdir /var/svn

Создадим собственно хранилище:
1
sudo svnadmin create /var/svn

Перейдем в каталог с конфигами созданного хранилища:
1
cd /var/svn/conf

Откроем в любимом текстовом редакторе конфиг сервера, в моем случае:
1
sudo vim svnserve.conf

Раскомментируем опции anon-access (права анонимных пользователей, по умолчанию read -- то бишь только чтение, можно устанивить none, чтобы даже читать не могли или write, чтобы коммиты могли делать даже анонимусы (не рекомендую!)), auth-access (права авторизованных пользователей, по умолчанию разрешена запись), password-db (база данных паролей, по умолчанию passwd в том же каталоге, что и этот файл), если разделение прав не планируется, то строку authz-db не раскомментируем, раскомментируем realm и задаем имя репозитория. Сохраняем файл и открываем указанный passwd:
1
sudo vim passwd

и добавляем туда своего пользователя в виде username=password.
Сервер настроен, осталось запустить его:
1
sudo svnserve --daemon --root /var/svn

Все! Осталось сделать туда первый коммит. Изначальное дерево создаем в отдельной папке. Для svn принято иметь папки trunk, tags и branches. В папку trunk перенесем существующие файлы проекта.
1
2
3
4
5
mkdir Project
mkdir Project/trunk
mkdir Project/tags
mkdir Project/branches
cp -R oldproject/* Project/trunk/

Импортируем в хранилище дерево проекта:
1
svn import Project svn://agent@172.16.0.1/project -m 'Initial import'

В моем случае agent это имя пользователя, то бишь меня, 172.16.0.1 -- IP новосозданного сервера. Вводим пароль, я отказался от сохранения пароля, хотя на домашней машинке можно и сохранить.
Теперь можно checkout'ить проект, править и commit'ить изменения.