在我正在研究的项目上,有一个标准的用于水银的预提交钩子,看起来像这样:
python:hookhgext.messagevalidation.checkCommitMessage
我想找出python脚本的位置,以便创建自己的钩子脚本,也将其称为此。
我将如何找到该文件的位置,或者如何从python脚本中调用此钩子?
根据docs
挂钩的值必须以文本“ python:”开头,然后继续与可调用对象的全限定名称一起用作挂钩的价值。…只要您具有正确的模块名称和PYTHONPATH,它应该“正当工作”
即在您的情况下,Mercurial会从任何可能的导入位置导入hookhgext.messagevalidation
,然后从中调用checkCommitMessage
。
我对Python一无所知,但[[对我] hookhgext.messagevalidation
是“ hookhgext.py”中的“ messagevalidation” something,而“ hookhgext”是其中通常安装的python模块(已安装的模块) )默认位置