2011-08-23 71 views
1

看起來,更新後的鉤子適用於整個機器上的SVN設置,但我期望爲每個項目設置單獨的鉤子。從我所看到的,你在設置中設置鉤子,這是全球性的。每個項目SVN post-update鉤子?

任何想法,我如何能夠實現每個項目的更新後鉤子?

+0

你說的是服務器端鉤子還是客戶端鉤子(可能在TortoiseSVN中)? – Otherside

+0

它是客戶端 - 當您更新時,我會應用邏輯來查看腳本是否已創建,並且我打開一個exe腳本工具,允許您更新本地數據庫。該exe文件存儲在每個項目中。 – Savage

回答

1

它的確很簡單 - 在你的鉤子中放置代碼(項目路徑的正則表達式),如果它不是你想要鉤住的項目,它什麼也不做。

如果您需要知道更新的工作副本的存儲庫路徑,請使用svninfo。

1

提交後掛鉤的第一個參數是存儲庫的路徑,這意味着如前所述使用正則表達式來篩選出喜歡處理的項目。

0

我剛纔遇到了這個,但是相反;我正在將鉤子應用到項目存儲庫,但其中一些是相同的,並且冗餘地應用它們似乎效率低下。實際上,在SVN中創建項目的做法並不是很好的做法:每個項目都在根目錄中存在一個存儲庫(根目錄不能應用掛鉤)

在我的情況中,建立一箇中央存儲庫,其中包含項目樹,這意味着我可以將我的鉤子應用於Client回購庫,並將其級聯,以便將其應用於根目錄下的所有項目。這變得更加有效,因爲我可以將項目分開並應用每個回購類型的鉤子而沒有冗餘。

就你而言,我認爲你想要的是另一種方式,所以本質上每個項目都需要是一個存儲庫,而不僅僅是根存儲庫的一部分。