更新後のフックはマシン上のSVNセットアップ全体に適用されるようですが、プロジェクトごとに個別のフックを設定することを検討しています。私が見ることができることから、あなたはグローバルな設定であなたのフックをセットアップしました。
プロジェクトごとに更新後のフックをどのように取り除くことができるかについてのアイデアはありますか?
更新後のフックはマシン上のSVNセットアップ全体に適用されるようですが、プロジェクトごとに個別のフックを設定することを検討しています。私が見ることができることから、あなたはグローバルな設定であなたのフックをセットアップしました。
プロジェクトごとに更新後のフックをどのように取り除くことができるかについてのアイデアはありますか?
本当に簡単です - フックしたいプロジェクトでなければ何もしないコード (プロジェクト パスの正規表現) をフックに入れます。
更新された作業コピーのリポジトリ パスを知る必要がある場合は、svninfo を使用します。
post-commit フックの最初のパラメーターは、リポジトリへのパスです。これは、前に述べたように、正規表現を使用して、処理したいプロジェクトを除外することを意味します。
私は少し前にこれに遭遇しましたが、逆です。私はプロジェクトリポジトリにフックを適用していましたが、それらのいくつかは同一であり、それらを冗長に適用することは非効率的であるように見えました。それがそうであったように、SVNでプロジェクトを作成する方法は、良い方法ではありませんでした。各プロジェクトには、ルートにリポジトリが与えられました(ルートにフックを適用することはできませんでした)。
私の場合、修正は、プロジェクトツリーがその下にある中央リポジトリを持つことでした。つまり、フックをClient
リポジトリに適用してカスケードし、そのルートの下にあるすべてのプロジェクトに適用できるようにしました。プロジェクトを分割して、冗長性なしでレポタイプごとのフックを適用できるため、これははるかに効果的になります。
あなたの場合、私が望むのはその逆なので、本質的には、各プロジェクトはルートリポジトリの一部ではなく、リポジトリである必要があります。