我可以PP_5 hg 工作副本,使其必须在提交之前还原吗?



我有一个实用程序脚本,它将配置本地开发人员实例以模拟特定的生产实例-通过正确的连接字符串、客户端文件等进行复制-从而使调查某些问题变得容易。

因为这一切都是在本地完成的,所以会更改工作目录中的文件。因此,脚本要做的第一件事就是打印出一个大大的警告,提醒开发人员不要在完成更改后提交和恢复更改。然而,当我的构建系统崩溃时,人们可能会忘记或错过这个警告,我想知道是否有可能走得更远。

有没有可能对hg repo做点什么,这样提交就会被拒绝,开发者就会首先恢复?

我意识到,就还原提交而言,这个问题存在一些变量,但鉴于我甚至不确定这是否可能,我愿意密切关注问题的答案。

这正是钩子的作用。您需要在每个repo或可能的pretxnchangegroup上使用一个precommit挂钩。

通过创建一个检查特定文件或特定更改的precommit挂钩(脚本),您可以使提交失败并打印出所需的任何警告。脚本的返回值向mercurial指示事务是否有效。

在接受或拒绝变更集之前,请使用以下通用示例检查是否存在要提交的某些文件。