我試圖禁止推送到Mercurial存儲庫,如果某些條件成立。但是,如果用戶使用push --force
,則不論是否推送都是必需的。從Mercurial prechangegroup鉤讀取命令行參數
我知道很容易,在使用pre-push
掛鉤進行推送的機器上執行此操作,該掛鉤將命令行參數傳遞給掛鉤。但是,由於鉤子沒有傳播,我不得不以某種方式將鉤子分發給存儲庫中的每個用戶,並依賴它們而不是搞亂它。
因此,我認爲要走的方法是在存儲庫服務器上有一個prechangegroup
鉤子,它檢查條件並在必要時終止推送,但我無法弄清楚獲取命令行參數的方法用戶在從此鉤子推入時使用。有沒有一種方法可以通過在存儲庫服務器上使用鉤子來實現這一點?
我知道可能的解決方法是使用pretxnchangegroup
鉤子,如果最新變更集的提交消息遵循特定模式,則允許推送。然而,從版本庫用戶的角度來看,--force
選項似乎更容易,因爲它不會強制他們執行虛擬提交來獲取正確的消息。
我很擔心,但你的選擇很有趣。謝謝! – Shoaib
你會如何設置回購和我真的意思 - 它繞過平原回購鉤? – halvorlu