我有一箇中央主存儲庫和幾個工作副本。Mercurial鉤,當別人拉
工作副本從主人拉,我需要在這一刻與主人做一些工作。所以,我想要一個鉤子,當另一個存儲庫拉動或試圖從存儲庫中拉出(=無新增功能)時,它會被觸發。
我試過preoutgoing
,但只有在有一些外出的變更集可用時纔會觸發。
我怎麼能解決這個問題在主存儲庫端?
我有一箇中央主存儲庫和幾個工作副本。Mercurial鉤,當別人拉
工作副本從主人拉,我需要在這一刻與主人做一些工作。所以,我想要一個鉤子,當另一個存儲庫拉動或試圖從存儲庫中拉出(=無新增功能)時,它會被觸發。
我試過preoutgoing
,但只有在有一些外出的變更集可用時纔會觸發。
我怎麼能解決這個問題在主存儲庫端?
對於本地文件訪問,您運氣不好。通過http,你應該能夠在你的web服務器的http層面上攔截它。通常在hgweb前面有apache或nginx或者gunicorn或者其他的wsgi容器,你可以在腳本上運行GET代碼。
你說得對,outgoing
鉤子只有在有變化將被髮送時纔會被觸發。
很遺憾,不過謝謝。 –
對主人「祕密」進行更改。如果他們是這樣,那麼其他人在他們拉時就不會看到他們。
要麼將它添加到您.hgrc在主:
[phases]
new-commit=secret
,或者如果你不希望每一個承諾是祕密的,只是奇怪的一個或兩個,使用...
$ hg commit --config phases.new-commit=secret
如果您希望公開更改,請將其更改爲「公開」階段。
$ hg phase --public -r <revision>
如果相是新的給你,我建議閱讀this three part series(2)(3)和hg help phases
我不明白這與我的問題有何關係,請你解釋一下吧? –
我以爲你的問題是你正在處理一個存儲庫,但不希望你的改變被拉入其他存儲庫。你試圖通過鉤子解決它,但另一種方法是將這些更改標記爲祕密。我誤解了你的問題是什麼。 –
我的問題是,我想在有人拉動時「得到通知」......這是我第一個想法如何獲得加密的mercurial repo的一個步驟。同時我沒有這一步解決它:http://www.codeduce.com/extra/secure_mercurial –
難道人蒲凌通過HTTP或ssh? Theres的答案都不錯,但它們有所不同。 –
'local'或'http'。 –