У меня сервер 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