samsonych.com

Shine On You Crazy Diamond!

Archive for March, 2008

Установка 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.

Posted in Девелопинг | 2 Comments »