2009-03-23 6 views
2

リビジョンを含むリポジトリにファイルを追加する(または単にファイルを編集する)ために、VisualSVNサーバーで何らかのポストコミットフックスクリプトを実行したい番号(およびその他のリビジョン情報)。私はこれがクライアントスクリプトを使用して達成することが可能であることを知っているが、私はサーバー上でそれをやりたい。 考えていますか?まったく可能ですか?VisualSVNのヘッダーファイルにリビジョン情報を挿入する

答えて

4

あなたはVisualSVNサーバーマネージャーを介してサーバのフックを管理することができます

  1. は、サーバーマネージャを起動し、
  2. はリポジトリを選択し、
  3. アクション|すべてのタスク|フックを管理する。

リビジョン番号が2番目の引数であることを示すダイアログが表示されます。リビジョン番号では、svn.exesvnlook.exeを使用して他の多くのタスクを実行できます。

+1

回答ありがとうございますが、管理フックのタスクが表示されません。私は、私が推測する最新バージョンにアップグレードする必要があります。アップグレードして確認します。 – dudico

1

技術的には、コミット後のフックスクリプトを使用してタスクを実行できます。しかし、あなたは別の一つとして行われなければならない、すなわちスタート -または事前はフックをコミットしようとしないでください。リビジョンの詳細と相補的なファイルのコミット(あなたは、元のトランザクション自体を変更してはならないことを理解する必要があります。

あなたができる追加の改訂データ use svnlook.exe in your hookを取得するために

SVNBookを参照してください。

フックスクリプトはほとんど何もすることができますが、1次元が にありフックスクリプトの作成者は、制限を表示する必要があります:フックスクリプトを使用して コミットトランザクションを変更しないでください。 フックスクリプトを使用して自動的にエラー、欠点、または ポリシー違反がコミットされているファイルに存在するように誘惑されるかもしれませんが、 は問題を引き起こします。 Subversionはクライアント側のキャッシュに という特定のビットのリポジトリデータを保持し、このようにコミットトランザクションを変更すると、 これらのキャッシュは検出不能に失効します。この不一致は、 という驚くべき予期しない動作につながります。 トランザクションを変更する代わりに、 事前コミットフックでトランザクションを検証し、要求された 要件を満たしていない場合はコミットを拒否するだけです。ボーナスとして、あなたのユーザーは慎重な、従業員の服従の習慣の価値を学びます。