2009-03-01 2 views
1

Прочитав Setting up Subversion on Windows Я пытаюсь выяснить, как запускать несколько служб SVN на одной машине. При создании более одного сервиса с помощьюКак запустить несколько служб SVN

sc create svnP1 ... binpath= "svnserve.exe --service -r c:\svn\repositories\project1" 
sc create svnP2 ... binpath= "svnserve.exe --service -r c:\svn\repositories\project2" 

в качестве шаблона (фактические команды усечены) обе службы слушать на тот же порт и с помощью Svn: // имя_сервер/PROJECT2 идет к project1

Так как могу я это сделать или я иду по неправильному пути?

ответ

6

Немного тангенциальный, но я просто использую VisualSVN Server. Это бесплатно, очень легко настроить («следующий», «следующий» ...) и поставляется с оснасткой MMC, чтобы сделать все администратор. Это делает его поворотным для работы с несколькими хранилищами без необходимости добавлять дополнительные сервисы каждый раз.

(обратите внимание, что плата за клиента, но вы можете использовать любой SVN клиента, чтобы поговорить с ним, мне нравится TortoiseSVN, но все, что вам нравится ...)

Кроме того - под капотом, это использует Apache для предоставления данных, предоставляя как HTTPS для обеспечения безопасности, так и позволяя использовать интернет через порты, совместимые с брандмауэром.

Наконец, он даже позволяет выбирать «обычные» пары имени пользователя и пароля или интеграции с вашими сетевыми (доменными) учетными данными. Довольно пятно.

+0

вы можете использовать протокол SVN через Интернет, вы можете найти больше проблем с корпоративными брандмауэрами. – crashmstr

+0

Вот что я имел в виду; Я уточню ... –

9

Я не уверен, зачем вам нужны отдельные услуги. Одна служба может обрабатывать несколько репозиториев.

Я думаю, что вы хотите:

sc create svn ... binpath= "svnserve.exe --service -r c:\svn\repositories"

А затем создать project1 и PROJECT2 в виде отдельных хранилищ:


svnadmin create c:\svn\repositories\project1 
svnadmin create c:\svn\repositories\project2 

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

+0

+1. Именно моя мысль ... – Paulius

+0

Это на самом деле то, что я хотел сделать. Я принял ответ Марка, потому что это то, что я использовал. – Bender

+0

У меня вопрос: я сделал то же самое, что объяснил. Однако, когда я обращаюсь к «svn: // localhost: 3690», я не вижу список репозиториев. Используется «svn: // localhost/project1: 3690». (Рассмотрим, что мой svn работает на порту 3690). Есть ли что-то еще, что нужно сделать? так что я могу увидеть список репозиториев, когда я обращаюсь к «svn: // localhost: 3690» –