Использование SVNSERVE для размещения сервера Subversion, файлов конфигурации и т. Д.

У меня есть сервер SVNSERVE, настроенный для размещения нескольких репозиториев.

Короткий вопрос здесь

Мой вопрос действительно такой: у меня есть authz, passwd и svnserve.conf в главном каталоге за пределами репозиториев, и это, кажется, работает, в том смысле, что изменения здесь дадут или запретят доступ к соответствующим репозиториям.

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


Предварительное решение

Хорошо, похоже, что веб-страница, на которую я ссылался ниже ( эта страница), в конце концов, была правильной. Редактируя локальный репозиторий svnserve.conf файл и добавив одну строку:

anon-access=none

тогда похоже на работу. Обратите внимание, что это все, что я сделал. Основные, глобальные, вне репозиториев svnserve.conf файл и связанные файлы по-прежнему содержат всю необходимую информацию, поскольку изменения здесь по-прежнему предоставляют или запрещают пользователям доступ к репозиториям, но добавление этой строки заставило TeamCity перестать жаловаться.

Запустите контрольные тесты прямо сейчас, после того как снова удалите строку, просто чтобы посмотреть, не сработает ли она.


Длинная история здесь

Структура каталогов выглядит следующим образом:

E:
 +-- Repositories
     +-- LVK
     +-- PrivateProjects
     +-- ExternalProjects
     +-- XYZ
     +-- etc.

Теперь я в каталоге Repositories, у меня есть следующие файлы (содержимое файла ниже):

svnserve.conf
authz
passwd

svnserve.conf выглядит так:

[general]
password-db=passwd
authz-db=authz
realm=VKarlsen Subversion Server
anon-access=read
auth-access=write

authz выглядит так:

[/]
lassevk=rw
*=r

[LVK:/]
lassevk=rw
*=r

[PresentationMode:/]
lassevk=rw
*=

и некоторые другие репозитории и т. д.

и passwd выглядит так (хотя, очевидно, не правильный пароль):

[users]
lassevk=MYSECRETPASSWORD

Теперь, что меня интересует, так это то, что TeamCity жалуется с сообщением об ошибке, которое гласит: "Сбой для корня" svn://localhost/PrivateProjects/VS.NET/LVK_ReleaseScript' #2: svn: Не авторизован для открытия корня операции редактирования ".

Я нашел эту страницу здесь, но она говорит, чтобы убедиться, что в вашем файле svnserve.conf есть следующее:

anon-access=none

У меня, однако, есть anon-access=read в файле, но мой вопрос на самом деле таков: в каждом репозитории также есть подкаталог conf с точно такими же файлами, что и выше, но с разным содержимым. Фактически, кроме установки значения Realm в то же самое, что и мой основной файл svnserve.conf, файлы полностью пусты.

Это правильно? Нужно ли мне копировать соответствующие фрагменты из основного файла svnserve.conf в файлы конфигурации для каждого репозитория?

Например, вот содержимое трех файлов в хранилище LVK:

AuthZ:

[groups]

[/]

ПАРОЛЬ:

[users]

svnserve.conf:

[general]
realm = VKarlsen Subversion Server

1 ответ

Решение

Я всегда думал, что тебе понадобится хотя бы svnserve.conf внутри conf/ подкаталог каждого репозитория (поскольку SVN не будет автоматически искать его где-либо еще). Это настройка, которую я использую со своими собственными репозиториями: у каждого есть своя копия svnserve.conf, но есть только один глобальный passwd а также authzк которому все svnserve.conf файлы ссылаются по абсолютному пути.

Другие вопросы по тегам