2011-08-23 10 views
1

更新後のフックは、マシン上のSVNセットアップ全体に適用されるようですが、プロジェクトごとに個別のフックを設定したいと考えています。私が見ることのできるところから、グローバルな設定でフックを設定します。プロジェクトごとのSVNポスト更新フック?

プロジェクトごとに更新後のフックを引き出す方法はありますか?

+0

あなたはサーバ側のフックやクライアント側のフックについて話していますか(TortoiseSVNで可能ですか?) – Otherside

+0

これはクライアント側です。更新すると、スクリプトが作成されたかどうかを確認するロジックが適用され、ローカルデータベースを更新できるexeスクリプトツールが開きます。 exeはプロジェクトごとに格納されます。 – Savage

答えて

1

あなたがフックしたいプロジェクトでなければ、何もしない単純な実際のコード(プロジェクトパスの正規表現)をあなたのフックに入れます。

更新された作業コピーのリポジトリパスを知る必要がある場合は、svninfoを使用します。

1

ポスト・コミット・フックの最初のパラメータはリポジトリへのパスです。これは前に述べたように、正規表現を使用してプロジェクトをフィルタリングします。

0

私は少し前にこれに遭遇しましたが、逆でした。私はプロジェクトリポジトリにフックを適用していましたが、それらのいくつかは同一であり、それらを重複して適用することは非効率的だったようです。それは、SVNでプロジェクトを作成するという習慣ではありませんでした。各プロジェクトにはルートにリポジトリが与えられています(ルートにはフックを適用できませんでした)。

私の場合、プロジェクトツリーのある中央リポジトリを持つことができました。つまり、Clientリポジトリに自分のフックを適用してカスケードして、そのルートの下にあるすべてのプロジェクトに適用しました。プロジェクトを分割し、冗長性を持たずにrepo型のフックを適用できるので、これははるかに効果的になります。

私はあなたが望むと思うものは逆です。つまり、各プロジェクトはルートリポジトリの一部ではなく、リポジトリである必要があります。

関連する問題