我有一个中央主存储库和几个工作副本。
工作副本从主人那里拉出来,此时我需要与主人做一些工作。所以,我希望有一个钩子,当另一个存储库从存储库中拉出或试图拉动(=没有新的可用)时,它会被触发。
我尝试了preoutgoing
,但只有在有一些外向变更集可用时才会触发。
如何在主存储库端解决此问题?
答案 0 :(得分:1)
对于本地文件访问,你运气不好。通过http,您应该能够在Web服务器的http级别上获取它。一个人通常在hgweb前面有apache或nginx或gunicorn或其他一些wsgi容器,你可以在GET上运行代码到脚本。
你是对的,只有在有变化的情况下才会触发outgoing
挂钩。
答案 1 :(得分:0)
对主人进行更改"秘密"。如果他们是,那么当他们拉动时,其他人也不会看到他们。
在主人身上添加这个.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