SVN Authz и переименование папки
Вопрос
Скажем, я хочу предотвратить доступ к определенным пользователям в определенных папках в моем репо SVN. Я просто:
[/]
* = rw
[/NewSecretFolder]
* = rw
some_poor_sap =
Но что, если эта папка была переименована из SecretFolder в NewseCretFolder? Сможет ли пользователь SOME_POOR_SAP получить доступ к истории /SecretFolder?
Решение
Да, он сможет тогда. Тебе нужно сделать
[/]
* =
А затем разрешайте доступ к необходимым пользователям, где это необходимо. Вот как я это делаю.
Другие советы
А authz
Механизм авторизации файлов полностью основан на пути и игнорирует различные имена, которые объект может иметь в других изменениях. Поэтому, когда вы получаете доступ к репозиторию при определенной ревизии, разрешения будут применяться в соответствии с именами папок при этом ревизии.
Поэтому, когда у меня есть эти разрешения:
[/]
* = r
[/MyProject]
* =
devs = rw
И я переименую проект MyRenamedProject
, тогда я меняю разрешения как это:
[/]
* = r
[/MyProject]
* =
devs = r
[/MyNewProject]
* =
devs = rw
Здесь я держал старый путь проекта в authz
Файл и предоставлен доступ к чтению, чтобы убедиться, что разработчики всегда могут прочитать историю проекта до переименования.
Также обратите внимание, что мы всегда предоставляем хотя бы доступ к корню, а затем снова убираем его с помощью * =
В разрешении проекта, чтобы обойти странный svn copy
вопросы. Анкет Я подозреваю, что это актуально только в том случае, если вы используете Apache для размещения SVN.