在推送时自动合并新头

时间:2013-06-21 10:19:13

标签: mercurial merge mercurial-hook

是否可以通过钩子对存储库的推送做出反应并合并由此推送创建的所有新头?

我的用例如下: 我正在尝试设计一个只允许使用提交挂钩进行非常具体更改的存储库。基本思想是只允许用更好的文件替换现有文件(更好是可由外部程序检查的东西)。每个用户都可以克隆中央存储库并提交对克隆的更改。当用户将其更改推送到中央存储库时,钩子会检查每个分支的质量是否增加,否则拒绝推送。如果用户推出不同步,这将创建多个头,理论上可以自动合并(采用每个文件的最佳版本)。

1 个答案:

答案 0 :(得分:1)

原则上你的钩子可以做任何你想做的事。编写一个程序来处理您描述的评估和合并,并将其与changegroup hook相关联,只要有人将变更集的推送到仓库或{{1} } hook,为每个到达的变更集单独执行。