我有一个实用程序脚本,它将配置本地开发人员实例以模仿特定的生产实例 - 复制正确的连接字符串、客户端文件等 - 从而使调查某些问题变得容易。
因为这一切都是在本地完成的,所以会更改工作目录中的文件。因此,脚本做的第一件事就是打印出一个大警告,警告开发人员不要在完成后提交和恢复更改。然而,随着我的构建系统的滚动,可能会忘记或错过这个警告,我想知道是否可以进一步。
是否可以对 hg 存储库进行一些操作,以便提交被拒绝,并且开发人员必须首先恢复?
我意识到这个问题在恢复什么和提交什么方面存在一些变数,但鉴于我什至不确定这是否可能,我愿意接受仔细的警告以获得答案。
最佳答案
这正是hooks是给。您需要在每个存储库或可能的 pretxnchangegroup
上设置一个 precommit
Hook 。
通过创建一个检查特定文件或特定更改的预提交
Hook (脚本),您可以使提交失败并打印出您需要的任何警告。脚本的返回值向mercurial指示交易是否有效。
使用以下generic sample在接受或拒绝变更集之前检查是否存在将提交的某些文件。
关于mercurial - 我可以 "break"hg 工作副本,以便在提交之前必须将其恢复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23228229/