私はいくつかのフックを実装しようとしていますが、プリとポストの両方が失敗します。コミットしようとすると、両方で同じエラー メッセージが表示されます。
「*-commit」フックが失敗しました (正常に終了しませんでした: apr_exit_why_e は 2、exitcode は -1073741515)。出力なし。
Exitcode -1073741515 は奇妙なものに見えます。ちょっとした google-fu でこれが得られました:
16 進数の DWORD として扱われ、表示されるエラー コードは 0xC0000135 です。
つまり、Sev=11、C=0、R=0、Facility=0、Code=0x0135 です。
値 0xC0000135 は、次の定義で NtStatus.h にあります。
//
// MessageId: STATUS_DLL_NOT_FOUND
//
// MessageText:
//
// {Unable To Locate Component}
// This application has failed to start because %hs was not found.
// Re-installing the application may fix this problem.
//
#define STATUS_DLL_NOT_FOUND ((NTSTATUS)0xC0000135L)
わかりました、dll が見つかりません。難しすぎませんか? これらのフックで平和な svn を搭載した VM があります。そこで、両方のマシンで Filemon.exe と Depends.exe を実行します。
私はまだ両方のサーバーのfilemonログを調べていますが、コミットフックによってヒットしたと思われる実行可能ファイルに固有の問題はありません。
イベント ログをざっと見てみることにしました。
「pre-commit」フックが失敗しました (正常に終了しませんでした: apr_exit_why_e は 2、exitcode は -1073741515 でした)。出力なし。[409、#165001]
余分な情報、この[409、#165001]はGoogleのいたるところにありますが、私は本当に役立つものを拾っていません.
フックは、3 つのパラメーターを使用して実行可能ファイルを明示的に呼び出しています。
C:\SubversionNotify\SubversionNotify.exe %1 %2 -pre
変数も使用しようとしました。
SET REPOS=%1
SET REV=%2
C:\SubversionNotify\SubversionNotify.exe %REPOS% %REV% -pre
filemon ログを見ると、SubversionNotify.exe に到達しないことがわかります
これを実装するのにこれ以上多くの時間を費やすことができないところまで来ています。助けてください。あなたが私の唯一の希望です。
サーバー仕様:
VisualSVN サーバーを実行している Windows XP、最新リリース。
編集: SubversionNotify が例外をスローしているように見えます。Depends.exe に戻って、どの dll が失敗しているかを確認します。
エラーは次のとおりです。
アプリケーションを正しく初期化できませんでした (0xc0000135)。
その 0xC0000135 は以前に見られました。