2008-11-20 234 views
2

我試圖實現一些掛鉤,但前後都失敗。我得到同樣的錯誤消息都當我嘗試提交:提交掛鉤失敗

 
'*-commit' hook failed (did not exit cleanly: apr_exit_why_e was 2, exitcode was 
-1073741515). with no output. 

退出碼-1073741515看起來是一個奇數之一,谷歌福的快速有點我得到這個:

治療作爲一個十六進制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,並且這些虛擬機是和平的。所以我在兩臺機器上運行Filemon.exe和Depends.exe。

我仍然在通過兩個服務器的filemon日誌,並且依賴不會給我任何可執行文件的任何特殊問題,我可以認爲這些文件被Commit Hook擊中。

我決定在事件日誌中快速瀏覽一下哦!

'pre-commit'hook failed(did not clean cleanly:apr_exit_why_e was 2,exitcode was -1073741515)。沒有輸出。 [409,#165001]

信息的額外smidgens,這[409,#165001]超過谷歌,但我沒有真正拿起任何有用的東西。

掛鉤顯式調用帶有三個參數的可執行文件。

C:\ SubversionNotify \ SubversionNotify.exe%1%2 -pre

我甚至嘗試使用變量爲好。

SET REPOS=%1 
SET REV=%2 
C:\SubversionNotify\SubversionNotify.exe %REPOS% %REV% -pre 

尋找在Filemon的日誌讓我發現,它永遠不會使得它SubversionNotify.exe

這是越來越的地方,我真的不能花更多的時間去實現這一點,幫我SO , 你是我唯一的希望。

服務器規格:

Windows XP中,運行VisualSVN服務器,最新的版本。

編輯: 看起來好像SubversionNotify拋出異常,回到Depends.exe檢查,看看什麼DLL失敗。

錯誤如下:

應用程序未能正確初始化(0xc0000135)。

那個0xC0000135之前就看到過了,dll會搜到啊!

回答

1

我以爲我會在這裏分享解決方案,因爲我笑了。

SubversionNotify是用.NET編寫的。
服務器沒有安裝.NET Framework。
虛擬機確實。

我現在戴着一頂戴斯帽。

3

通常,提交鉤子的問題是絕對沒有環境(因此沒有路徑),所以所有的引用都必須是非常明確的。我通常最終會創建一個小的批處理文件,將目錄更改爲正確的目錄並執行該命令。

編輯:

嘗試更改目錄設置爲C:\ SubversionNotify

也許你缺少的是需要運行一些程序運行時DLL。 記住:沒有路徑。您可以通過在命令行窗口中將路徑設置爲NOTHING來模擬此操作。 設置PATH =。

確認像記事本這樣的簡單命令不起作用。你的exe是否可以工作?找出丟失的DLL的位置,並在批處理文件的開始處建立一條路徑。

+0

掛鉤顯式調用帶有三個參數的可執行文件。 C:\ SubversionNotify \ SubversionNotify.exe%1%2 -pre 此問題已被編輯以反映此問題。 – Slipfish 2008-11-20 16:26:55

0

感謝您發佈您的答案。如果你不這樣做,我會花更多的時間來嘗試這種做法,感覺比現在更愚蠢。只是吹了一個盒子,並安裝了VisualSVN和SubversionNotify,並不知道爲什麼它不工作。