samsonych.com

Shine On You Crazy Diamond!

Установка SVN (Subversion) Windows Service

16th March 2008

В срочном порядке необходимо было установить SVN (Subversion). Опишу вкратце парочку неочевидных моментов с которыми пришлось столкнуться при установке данной системы контроля версий.

Установка производилась на виндовом 2k3 серванте с первым сервиспаком, однако предположу что данное руководство применимо ко всем операционным системам семейства Win NT.

Итак, сходил на официальный сайт  и скачал на момент написания данной статьи последнюю версию Subversion.

Инсталляция сервера

Запусктил инсталяционный файл и в процессе инсталляции указал установочную директорию (D:\SVN\Subversion).

Итак файлики успешно распаковались и готовы к использованию.

Создание репозитория SVN

Далее выполнив эту команду:

>svnadmin create D:\svn\Repository

создал репозиторий, где будут располагаться файлы базы данных, конфигурации SVN.

Следующей и в общем-то основной задачей явилась регистрация SVN сервера в качестве служебного сервиса Windows. Для того чтобы прописать служебный сервис, я воспользовался следующей командой:

>sc create SVN binPath= "d:\SVN\Subversion\bin\svnserve.exe --service --root d:/SVN/Repository"
DisplayName= "Subversion Repository" depend= "Tcpip" start= auto

данной командой создается сервис с именем SVN, который будет автоматически при старте операционной системы запускать наш SVN-сервер.

Откровенно отмечу, что на этом шаге мне пришлось несколько повозиться:

Во-первых, обратите внимание, на пробелы в параметрах команды SC.exe. Оказываются они обязательны.

Во-вторых, будьте внимательнее с пробелами в пути к svnserve.exe и/или репозитария (параметр binPath). Если таковые имеются, то путь(и) необходимо помещать в дополнительные кавычки обрамляя слэшем, вот так

>sc create <name> binPath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" ..."

Конфигурация прав доступа

Лезу в директорию репозитория D:\svn\Repository в каталог conf. Открываю файл svnserve.conf и в секции [general] разкомментировал следующие параметры:

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

Далее залез в файл passwd и добавил свой логин и пароль, с которым я буду коннектиться к серверу.

Запуск сервера

net start SVN

Жду когда сервис запустится и проверяю командой

svn info svn://localhost

успешный старт SVN-сервера. На консоль выведется примерно следующее:

Path: localhostURL: svn://localhost
Repository Root: svn://localhost
Repository UUID: c422f63f-1457-454e-a783-90e2cfd0cfb5
Revision: 0
Node Kind: directory
Last Changed Rev: 0
Last Changed Date: 2008-03-14 00:11:02 +0200 (Пт, 14 мар 2008)

По идее установка самого сервера закончена, и его уже можно использовать. Помещение, выгрузку исходников, коммит, апдэйт, контроль ревизий файлов, и т.д. можно осуществлять посредством того же консольного клинета svn, входящего в поставку вместе с самим сервером. Однако для более удобного пользования системой, можно посоветовать виндюшный SVN-клиент – черепашку TortoiseSVN. Программа встраивается в контектсные менюшки операционной системы и позволяет практически в любом месте и в любом файловом менеджере работать с SVN.

2 Responses to “Установка SVN (Subversion) Windows Service”

  1. Samolisov Says:

    Большое спасибо за подробное описание процесса и самое главное - за ссылки на SVN-сервер. Почему-то про CVSNT все знают, а вот SVN-сервер под винду у меня найти не получалось. Может быть плохо искал. Попробую поставить на XP, посмотрим как получится.

    Кстати интересно узнать ваше мнение о распределенных системах контроля версий. Mercurial и Git.

  2. samsonych Says:

    Всегда пожалуйста=)
    Рад что прочитали мою статью.
    О распределенных системах контроля версий Mercurial и Git, к моему стыду, честно признаться, и не слышал. Обязательно ознакомлюсь с данными системами.

    PS. Мда, хреновый из меня блоггер. Комментарии незаапрувленные висят аж с 8 числа. Бляха, все время забываю про премодерацию комментариев от нового комментатора. Нет мне прощенья и всеже прошу меня извинить за столь долгое бездействие с моей стороны.
    PSS. Да, Павел. И я думаю можно на “ты”.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>