Материал просмотрен 207 раз(а)

Привет! Сегодня я расскажу, как поставил себе наконец SVN-сервер для работы с веб-проектами. Это, кстати, значительно удобнее, чем просто копировать по FTP или даже по SCP файлы в веб-каталог, поскольку не возникает вопросов с тем, какие файлы качать и изменилось ли что-то ещё.

Итак, сервер на Debian, ставим сервер:

# apt-get install subversion

Затем создают каталог для репозиториев:

# mkdir -p /var/svn/repository

Создаём репозиторий в этом каталоге

# svnadmin create /var/svn/repository

Затем настраиваем права доступа к нему:

# nano /var/svn/repository/conf/svnserve.conf

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

auth-access = write
password-db = passwd

# nano /var/svn/repository/conf/passwd

username = password

Создал пользователя с именем и паролем реально существующего в системе, сделал его владельцем каталога с репозиториями:

# chown -R username /var/svn/

Стартуем сервер:

# svnserve --daemon --listen-host 151.248.118.182 --log-file /var/log/svn.log -r /var/svn/repository

Эту же запись кидаем в автозагрузку.

И сразу импортируем в репозиторий файлы:

# svn import -m 'begin' /var/www/#####.ru svn+ssh://username@litl-admin.ru/var/svn/repository

Вводим наш пароль пользователя и наблюдаем за импортом (заполнением репозитория файлами проекта сайта).

Что делаем в Windows? После установки программки TurtoiseSVN создаём новую папку и в её контекстом меню выбираем пункт:

checkout

Таким образом выгрузим содержимое репозитория в каталог на локальном диске и будем работать уже с ним.

chek

Ну а что делать дальше я писал уже в статье о работе с системой SVN.

Ну и так, немного ликбеза. После нажатия кнопки “ОК” у нас появится диалоговое окно с ходом чекаута (выгрузки):

2

Когда все файлы будут переданы, мы увидим, что их пиктограммы получили зелёную пометку. Это значит, что файл не изменялся с последнего коммита:

1

Стоит изменить какой-либо файл, как мы увидим, что его иконка поменялась:

3

Можно посмотреть изменения в файле выбрав пункт Diff (в контекстном меню), а можно загрузить изменённую версию в репозиторий командой Commit. Так же есть возможности отпочковывать ветки (Branch) и вести параллельную разработку одного проекта несколькими людьми. Смотрите цикл статей о Гитхабе, в конце статьи там ссылки на другие по этой теме.

P.S. Думаю, для работы с вебом нужно в каталоге вебсервера делать автоматическую выгрузку всех изменённых файлов по требованию или автоматически. Тогда будет совсем удобно!