如何让TortoiseHG执行pre-diff动作

时间:2011-10-20 06:04:47

标签: mercurial hook tortoisehg

我的hg设置中有一个pre-diff钩子但是当我尝试提交更改时它没有被执行。

我要做的是在提交之前生成数据库模式文件,以便它出现在更改列表中。

我也有一个更新钩子,工作正常。 TortoiseHG没有执行hg diff命令吗?我可以使用哪个钩子?

1 个答案:

答案 0 :(得分:1)

TortoiseHg(自v2.1.4起)至少以3种方式执行差异,其中没有一种使用原始hg diff命令:

  1. 在Workbench的“Revision Details”窗口中,显示了一个文件级统一差异。此差异是通过mdiff.py中的mdiff.unidiff方法获得的。这种方法绕过了钩子机制。
  2. 如果在修订图中选择了变更集(或变更集范围),则用户可以要求“Visual Diff”。此方法将文件从选定的修订复制到临时目录,然后将它们与外部可视差异工具进行比较。这种方法也绕过了钩子机制。
  3. 在“清单”视图中,您可以选择文件,右键单击“比较文件修订”。这使用了一个自定义的视觉差异实用工具,它也绕过了钩子机制。
  4. 据我所知,TortoiseHg不会为其diff机制暴露任何钩子。