Subversion под Windows - запуск сервиса

Опубликовано 02.07.2007

Вот у меня возникла такая задача: я хочу запустить Subversion под Windows в качестве сервиса (службы), чтобы доступ к локальному репозиторию был постоянно, без запуска сервера вручную. Давайте попробуем это сделать.

В первую очередь, нам нужно поставить свежий дистрибутив Subversion для Windows. Устанавливаем его, например в папку C:\Program Files\Subversion.

После установки Subversion нам необходимо создать папку, в которой будут храниться наши локальные репозитории. Например, это будет папка D:\Repository.

Далее, нам потребуется утилита instsrv.exe. Ее можно скачать вместе с Windows Resource Kit (его искать на хомяке у дяди Гейтса, где конкретно - не скажу) или просто взять отсюда (спасибо WinAll за малый объем архива). Файл надо распаковать и содержимое скопировать в папку C:\Windows\system32

Получив эту замечательную утилиту, мы уже можем установить сервис. Для этого мы запускаем вот такую сказочную команду:

instsrv.exe “Subversion Server” “c:\Program Files\Subversion\bin\svnserve.exe”

После выполнения этой команды мы в списке служб можем увидеть новую службу под названием Subversion Server. Запускать ее пока рано, нужно сделать еще немножко телодвижений. Нужно открыть в редакторе реестра (regedit) ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Subversion Server и поправить в ней параметр ImagePath, указав в нем следующее значение:

c:\Program Files\Subversion\bin\svnserve.exe --service -r d:\repository

Ключ --service означает, что программа должна запускаться как сервис, а параметр -r d:\repository дает программе понять, что все запрашиваемые адреса надо обрабатывать относительно директории d:\repository.

Сохраняем значение параметра и запускаем сервис. Если все сделано правильно, сервис должен успешно запуститься.

Далее, заходим в папку d:\repository и создаем репозиторий:

svnadmin create myfirstrepo

Теперь мы можем начинать работу с этим репозиторием используя адрес svn://127.0.0.1/myfirstrepo/

Удачного коммита!

UPD: В комментах MiRacle рассказал как можно создать сервис в Windows XP без загрузки дополнительных утилит. За это спасибо ему большое.

Подпишись и читай
Самые продвинутые ruby-программеры уже читают Rail0rz в формате RSS. Присоединяйся!
Комментарии
  1. KBA-KBA03.07.2007

    Спсибо, буду иметь в виду. Сейчас пользуюсь TortoiseSVN (http://tortoisesvn.tigris.org) он умеет создавать локальные репозитарии и устанавливается в 2 клика :)

  2. DEkart03.07.2007

    Мне TortoiseSVN не нравится из-за корявого интерфейса. В этом плане гораздо удобнее Subclipse (ставится как плагин на Eclipse).

  3. george03.07.2007

    В качестве сервера я все же предпочитаю ставить apache, что под виндой, что под пингвинами. TortoiseSVN не так плох, но из клиентов лучший тот что встроен в IDEA (IMHO).

  4. MiRacLe03.07.2007

    “Счастливые” обладатели винды версии новее 2k имеют возможность не качать всякие srvany и прочие “хэлперы” - начиная с WinXP есть такая замечательная утилитка как sc.exe :

    sc create “svnserve” binPath= “c:\Program Files\Subversion\bin\svnserve.exe –service -r d:\repository” start= auto displayname= “Subversion Repository” depend= Tcpip

    (пробелы после знака “=” (равно) к сожалению обязательны…

  5. DEkart04.07.2007

    george, клиент в IDEA - это, конечно, хорошо, но IDEA стоит денег. А Eclipse бесплатен.

    MiRacle, спасибо за замечание, про sc.exe я не знал :)

  6. vovans18.07.2007

    Боже, зачем оно под веником нужно??? ;))))))))))

  7. DEkart18.07.2007

    К сожалению, никсы есть далеко не у всех :)

  8. LMZ22.07.2007

    ставьте Линукс, и из консоли юзайте свн, полный контроль!