通过pretxnchangegroup实施mercurial提交消息策略?

时间:2010-09-24 11:33:57

标签: mercurial hook push policy

如下所述:http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html我以为我可以编写一个小钩子来拒绝带有格式错误的提交消息的签入。这没问题,我遇到的问题是以下工作流程:

如果开发人员让我们说10个本地提交,其中一些是格式错误,然后将它们推送到中央存储库,所有将被拒绝,但他无法编辑旧的提交消息,因为回滚只能工作一次..

你是如何解决这个问题的?

2 个答案:

答案 0 :(得分:2)

使用HistEdit extension,您可以在本地更改提交消息,然后在主存储库中推回整个更改。

答案 1 :(得分:0)

我想您不能强制开发人员使用相同的precommit挂钩检查提交消息,因为它不是集中管理的项目?

@gizmo's answer的替代方案是让开发人员在推送之前使用MQ并强制执行代码审查(或者更好的是,有人从中推送)。然后,如果审阅者(或某些审阅脚本)发现格式错误的邮件,开发人员可以使用qrefresh来更改邮件。

但是,您需要注意该工作流程中的一些事项:

  1. 永远不会推送/拉出未完成的补丁,即使qfinish没有更改散列。搞砸太容易了。
  2. 确保开发人员qcommit每次发送内容进行审核之前,否则您将无法知道他/她是否会在下一次迭代中滑倒其他更改(不是他/她会,但他/她可以)。