2010-08-19 77 views
3

我是SharpSVN的新手(坦率地說 - 對C#來說也很新穎)。我一直在嘗試獲取一個簡單的預先提交鉤子來檢查評論。 (即承諾在沒有評論的失敗)用SharpSVN在C#中預先提交鉤子

有幾個職位(如this one),這是相關的,有益的,但我有一個是讓我進一步得到一些基本問題:

1)我如何獲得像上面在C#中運行的鏈接的代碼? (即,我將使用哪個C#上下文 - 控制檯應用程序?csharp類?)

2)在Windows Server上下文中,如何調用我編譯的C#程序?

我試過this answer's方法論沒有運氣。

在此先感謝。

回答

4

如果你正在創建一個pre-commit鉤子,你應該把它叫做pre-commit.exe。 (Subversion接受擴展名爲.exe,.cmd,.bat和.wsf的鉤子。)

掛鉤通過stdout,stderr進行通信,並且在某些情況下是stdin,因此您應該將應用程序編譯爲控制檯應用程序。

要使鉤子正常工作,必須將.exe(和所需的DLL)放入存儲庫的鉤子目錄中。

有關示例代碼,請參閱How to access file information in a pre-commit hook using SharpSVN

0

將您的「掛鉤」編譯爲控制檯應用程序,然後編寫一個調用您的控制檯應用程序的批處理文件。批處理文件需要正確命名並放置在Subversion存儲庫的「hooks」文件夾中。

對於您的特定情況,應該將該批處理文件稱爲pre-commit.bat(或pre-commit.cmd)。

0

我不得不讓用戶錯誤地犯錯誤的分支。所以我寫了一個預先提交的鉤子來檢查關鍵值的註釋。如果註釋未以正確的鍵開始,則提交被中止。

下面是該項目: http://sourceforge.net/projects/csvnprecommit/

隨意使用它作爲一個基地爲自己的鉤或使用它作爲。如果你發現一個錯誤提交給項目。