2011-01-18 19 views
2

私のSVNリポジトリの特定のフォルダにアクセスする特定のユーザのフォームを避けたいとします。私はちょうど行いますSVNのauthzとフォルダの名前変更

[/] 
* = rw 

[/NewSecretFolder] 
* = rw 
some_poor_sap = 

だが、そのフォルダがNewSecretFolderにSecretFolderから改名された場合は?ユーザーsome_poor_sapは/ SecretFolderの履歴にアクセスできますか?

答えて

2

はい、可能です。 あなたは

[/] 
* = 

を行い、その後、必要に応じて、必要なユーザーにアクセスを許可する必要があります。これが私のやり方です。

+2

私たちもこのように始めたが、[奇妙な問題に走った](http://stackoverflow.com/questions/4697052/svn-copy-causes-403-forbidden-in-reponse-to-propfind-other- actions-work/4697312#4697312)を 'svn copy'で置き換えます。何らかの理由で、あなたがあなたの変更を行っているフォルダへの読み書きアクセスだけでなく、 'svn copy'を利用するために、あなたのプロジェクトのすべての親フォルダへの読み取りアクセス権をrootまで必要とします。 –

+0

I参照してください、おそらく私はまだsvnコピーを使用したことがない、情報もありがとう:-D – BarsMonster

2

authzファイル認証メカニズムは完全にパスベースであり、オブジェクトが他のリビジョンで持つ可能性のある異なる名前を無視します。したがって、あるリビジョンのリポジトリにアクセスすると、そのリビジョンのフォルダ名に従って承認が適用されます。

だから私はこれらの権限がある場合:

[/] 
* = r 

[/MyProject] 
* = 
devs = rw 

をそして私はその後、私はこのような権限を変更、MyRenamedProjectにプロジェクトの名前を変更:

ここ
[/] 
* = r 

[/MyProject] 
* = 
devs = r 

[/MyNewProject] 
* = 
devs = rw 

私は古いプロジェクトのパスを保持authzファイルを読み込み、devsが名前の変更前からプロジェクトの履歴を読み込むことができるようにするための読み取りアクセスを許可しました。

また、少なくともルートへの読み取りアクセスを許可してから、strange svn copy issuesを回避するために、プロジェクト承認の* =でもう一度それを取り除くことに注意してください。私はあなたがSVNをホストするためにApacheを使用している場合にのみこれが適切であると思われます。

関連する問題