おそらく他の投稿からわかるように、この問題に対する一般的な答えは「そんなことはしないでください」です。一般に、Subversion は、リポジトリの一部またはすべてをローカル ワークスペースに個別にチェックアウトするために使用されます。
絶対に、積極的に、開発者ごとにリポジトリ全体を表示する必要があるが、開発者が変更するのはごく一部だけである場合、ここに潜在的な解決策があります。私が説明していることを容易にするために、いくつかのスクリプトを作成する必要があります (これは、私が使用していた UNIX IDE に基づいています)。
また、あなたのコメントから、環境は UNIX または Linux であると想定しています。Windows では次のことが可能ではないと思います。
- ある場所でプロジェクト全体を読み取り専用としてチェックアウトします。すべての開発者が読み取りアクセス権を持っていることを確認してください。
- ディレクトリ構造をクロールし、その開発者のワークスペース内の読み取り専用ディレクトリへのシンボリック リンクを使用して構造のミラーを作成するスクリプトを開発者が実行できるようにします。
- ツリーの一部をチェックアウトして編集する場合は、シンボリック リンクを削除し、そのパスを Subversion からチェックアウトします (
svn
これを処理するコマンドをラップするスクリプトが必要になる場合があります) 。
- スクリプト上
svn commit
または別のスクリプト内で、おそらくワークスペース ディレクトリを削除し、シンボリック リンクを再確立することをお勧めします。
post-commit
Subversion のフックを介して、または定期的に、cron
または同様のものを使用して、読み取り専用コピーを更新します。
シンボリック リンクは、開発者ごとにツリー全体のビューを提供し、開発者がアクティブに編集しているツリーの部分のみの「ローカル」チェックアウトを可能にします。
回りくどい理由は、Subversion が実際にはこのような使い方を意図していなかったからです。ただし、この方法は、説明した内容に対しては多少の苦痛を伴います。