说我想防止某些用户在我的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时才有意义。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top