Авторизация SVN и переименование папок - PullRequest
2 голосов
/ 18 января 2011

Скажем, я хочу запретить определенным пользователям доступ к определенным папкам в моем репозитории SVN. Я просто делаю:

[/]
* = rw

[/NewSecretFolder]
* = rw
some_poor_sap = 

Но что, если эта папка была переименована из SecretFolder в NewSecretFolder? Сможет ли пользователь some_poor_sap получить доступ к истории для / SecretFolder?

Ответы [ 2 ]

2 голосов
/ 18 января 2011

Механизм авторизации файла authz полностью основан на пути и игнорирует различные имена, которые объект может иметь в других ревизиях.Поэтому, когда вы обращаетесь к хранилищу с определенной ревизией, авторизации будут применяться в соответствии с именами папок на этой ревизии.

Поэтому, когда у меня есть эти полномочия:

[/]
* = r

[/MyProject]
* = 
devs = rw

И я переименовываюпроект на MyRenamedProject, затем я меняю права доступа следующим образом:

[/]
* = r

[/MyProject]
* = 
devs = r

[/MyNewProject]
* = 
devs = rw

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

Также обратите внимание, что мы всегда предоставляем по крайней мере доступ на чтение к корню и затем убираем его снова с * = в авторизации проекта, чтобы обойти странно svn copy выдает .Я подозреваю, что это актуально, только если вы используете Apache для размещения SVN.

2 голосов
/ 18 января 2011

Да, тогда он сможет. Вам нужно сделать

[/]
* =

А затем разрешите доступ нужным пользователям, где это необходимо. Вот как я это делаю.

...