我有一个实用程序脚本,它将配置本地开发人员实例以模仿特定的生产实例 - 复制正确的连接字符串,客户端文件等 - 从而可以轻松调查某些问题。
因为这都是在本地完成的,所以这会更改工作目录中的文件。因此,脚本所做的第一件事是打印出一个很大的警告,提醒开发人员不要在完成后提交并还原更改。然而,有可能忘记或错过这个警告,因为我的构建系统的副本滚动,我想知道它是否可能更进一步。
是否可以对hg repo执行某些操作,以便拒绝提交并且开发人员 先恢复?
我意识到问题有一些变量,只要还原什么和提交什么,但鉴于我甚至不确定这是否可行,我是愿意接受警告,以获得答案。
答案 0 :(得分:2)
这正是hooks的用途。您需要在每个仓库或precommit
上使用pretxnchangegroup
挂钩。
通过创建检查特定文件或特定更改的precommit
挂钩(脚本),您可以使提交失败并打印出您需要的任何警告。如果事务有效,脚本的返回值表示为mercurial。
在接受或拒绝更改集之前,请使用以下generic sample检查是否存在要提交的文件。