2009-07-28 7 views
0

ユーザーがTortoiseSVNとRapidSVNを使用している場合、ユーザーはファイルをサーバー上にあるとみなし、そのファイルを削除することができます。私はそれを防止したい。多分、削除するオプションをブロックするでしょうか?TortoiseSVNとRapidSVNを使用してユーザーがサーバーからファイルを削除することを防止できますか?

ファイルをサーバーから削除する唯一の方法は、ユーザーがローカルドライブからファイルを削除してサーバーにコミットすることです。私は、任意のユーザーがサーバーから直接削除する機能を制限したいと考えています。

+1

リポジトリを読み取り専用にしたいのですか、削除を防止する(つまり、ユーザーはファイルを変更できますが、削除はできません)。 – oggy

+0

私は、ユーザーがサーバーからファイルを削除できないようにしたい。私は彼らがローカルでやっても構いません。 – Oded

+0

その部分は分かりますが、削除以外の方法でリポジトリ内のファイル(または「サーバ上のファイル」)を変更できるようにしたいのですか? – oggy

答えて

2

クライアント側で何かを防ぐことは、いつものように本質的に安全ではありません。ユーザーはいつでも別のクライアントを使用できます。

したがって、サーバー側(リポジトリ自体)のアクセス権を管理する必要があります。残念ながら、私が知る限り、SVNはネイティブに "読み取り"と "書き込み"アクセスレベルのみをサポートしています。誰かに「書き込み」アクセス権を与えることは、ユーザーが既存のファイルを変更できるだけでなく、新しいファイルを追加して既存のファイルを削除できることを意味します。

この機能をプリコミットフック経由で追加することができます。

+0

私はPRE-COMMITフックに精通しています。詳しく説明できますか? – Oded

+0

PythonまたはPerlに精通している場合は、commit-access-control.plとsvnperms.pyのフックを調整してみることができます: http://subversion.tigris.org/tools_contrib.html#hook_scripts Googleを試してみてください。事前に焼いた解決策を見つけるかもしれません。 – oggy

関連する問題