2014-02-14 50 views
0

我無法使用我的本地post commit hook來訪問我的https svn服務器。 如何找到在HTTPS SVN服務器HTTPS鉤路徑:// * */SVN/myProject的/主幹如何在https svn服務器中找到掛鉤

+0

你有設置服務器的管理員嗎?先和他們談談。 – crashmstr

+0

我可以從基石連接來訪問它。但我不知道如何檢查掛鉤 –

+0

如果這是您公司擁有/控制的服務器,請與設置服務器的人員進行交談。如果它是外部託管存儲庫,請聯繫託管公司。取決於配置,它可能會非常不同。 – crashmstr

回答

1

Subversion的鉤子腳本都存儲在hooks目錄庫中。要了解它是如何工作的這是很好的創建一個本地庫一起玩:

svnadmin create /tmp/testrepo 

所有掛鉤默認情況下禁用,如果你看一下里面/tmp/testrepo/hooks你會看到一個.tmpl擴展一堆文件,例如post-commit.tmpl 。當鉤子腳本啓用時,它不應該有這樣的擴展名,它應該是可執行的。

從客戶端,您不能訪問這些掛鉤腳本,或檢查它們是否存在。您需要託管存儲庫的系統上的shell訪問權限,在此例中爲/tmp/testrepo dir。

您可以使用此本地存儲庫,它的網址是file:///tmp/testrepo,例如用鉤子腳本玩:

$ svn co file:///tmp/testrepo /tmp/checkout 
Checked out revision 0. 
$ cd /tmp/checkout/ 
$ date > date.txt 
$ svn add date.txt 
A   date.txt 
$ svn ci -m 'first commit' 
Adding   date.txt 
Transmitting file data . 
Committed revision 1. 
+0

我可以通過使用shell訪問服務器存儲庫來執行以下操作: 1.使用post-commit hook .tmpl將提交的文件簽出到svn服務器的trunk。 2.簽出到另一臺服務器。例。 svn co <​​svn服務器的主幹路徑><另一臺服務器的路徑>。 3.其他服務器可能是https服務器。所以,我需要解決這個問題:svn co/svn-server/trunk https://另一個服務器路徑。 4.每次在svn服務器的trunk中提交一個文件時,都應該執行此檢出 –