2010-12-03 28 views
3

我有幾個存儲庫已經從SVN轉換並向前推進,我們希望確保當人們推送到存儲庫時,他們無法創建額外的頭像。 TipsAndTricks wiki page有幾個鉤子可以防止推動,如果有多個頭,但我怎麼可以建立一個鉤子,防止推動新的頭?我如何創建一個防止新頭的mercurial鉤子?

看起來像這樣做的正確方法是比較修訂版0的頭部數:父母,然後比較0:技巧,但我似乎無法找到一種方法來做到這一點。 hg heads -r $HG_NODE只顯示用戶第一次提交後的頭數。

回答

0

使用hg ci -m 'Closed branch feature-x' --close-branch可關閉除一個頭部以外的所有頭部,然後應用普通的單頭掛鉤。

5

默認情況下,hg push可防止推動附加頭,需要-f標誌。您可以編寫一個Mercurial擴展程序,使其忽略該標誌,從而有效地禁用推送新標題。

這就是說,我會質疑機械地拒絕新頭的智慧。相反,我會訓練你的團隊在推動之前正確合併,同時仍然允許他們在罕見的情況下做到這一點,特別是在Mercurial已經警告你的情況下。

+0

我見過防止呈現爲在多個地方共同鉤多個haeads。它的維基中的提示和技巧,並由mozilla和netbeans使用。這似乎是證明它不是一個壞主意。如果我開始一個新項目,我會使用其中的一個。但他們不以我需要的方式處理我的轉換回購協議。 – 2010-12-05 00:13:19

+0

在推送前培訓合併人員不能解決問題。其他人可能總是在合併和推送之間推出新的東西。 – Kylotan 2010-12-06 16:55:18

相關問題