В срочном порядке необходимо было установить 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 binPath= “\“C:\Program Files\Subversion\bin\svnserve.exe\” …”
Конфигурация прав доступа
Лезу в директорию репозитория D:\svn\Repository в каталог conf. Открываю файл svnserve.conf и в секции [general] разкомментировал следующие параметры:
[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.