subversionnotify.exe が post-commit.bat から呼び出されると、subversion のすべてのプロセスが遅くなります。たとえば、subversion で新しいフォルダーを作成するには 20 ~ 25 秒かかりますが、それ以外の場合は 1 ~ 2 秒で作成されます。しかし、この post-commit.bat をフック フォルダーから削除すると、すべて正常に動作します。誰かがこの問題について私を案内してもらえますか? また、電子メール通知に必要な post-commit.bat を用意することも非常に重要です。
2 に答える
その前に私が遭遇した何かが長い実行時間を引き起こしました:
SVNからActiveDirectoryへのユーザー名の照合機能を使用していない場合は、SubversionNotify構成ファイルのMailServerノードにADGlobalCatalog属性がないことを確認してください。属性が空の場合でも、SubversionNotifyはAD接続を確立しようとします。これにより、ADへの接続を確立する機能、ADのサイズ、およびユーザーがADに存在し、見つけることができるかどうかに応じて、実行時間が30分ほど長くなる可能性があります。
AD統合を使用している場合は、構成ファイルで直接電子メールアドレスを定義することを検討することをお勧めします。
編集:ADGlobalCatalog=""は問題ないかもしれません。
subversionNotifyConfig要素でLoggingLevel="DEBUG"属性を設定することにより、詳細なログ情報をオンにすることもできます。リビジョンに対してSubversionNotifyを実行し、ログを表示します。あなたはそこにあなたを助けるためにいくつかの情報を見つけるかもしれません。
Subversion はポストコミットが完了するまで待機します。Unix では、呼び出しに「&」を追加して新しいプロセスを生成することで、これを回避できます。ただし、バッチファイルでそれを行う方法がわかりません(可能ですか?疑問です..)
Windows 上でまったく同じことを行う「Subversion フック アクセラレータ」と呼ばれる clearvision のソリューションがあり ます: プロセスを生成し、ポストコミット フックをすぐに終了します。
これが役に立った場合は投稿してください.Unixを使用しているため、これまで使用したことがありません..