我正在尝试创建一个在提交被推送到主存储库时运行的 Mercurial 挂钩。我创建了一个 python 脚本,如下所示:
# 提交.py 从 mercurial 进口 ui, hg 从 mercurial.i18n 导入 gettext 作为 _ def getV1ID(ui, repo, **kwargs): ui.write("钩子有效!!!") v1id = ui.prompt('输入 VersionOne ID') ui.write('版本号:'+v1id)
对于每个分支,这commit.py
是重复的,因为它包含在代码被推送到主存储库之前需要运行的机制。只有当这些预推送机制通过时,推送才会成功。用户可以修改他们的本地 commit.py,以便他们只运行这些预推送操作的子集,具体取决于他们所从事的项目,并且每个人一次可以从事多个项目。因此,commit.py
不能是可以驻留在.hg
文件夹中的全局 python 脚本。
为了让 mercurial 在本地运行commit.py
,在我的 mercurial.ini 文件中(在 C:\Users\UserName\mercurial.ini 中),我添加了以下语句:
[钩子] prechangegroup = python:./commit.py:getV1ID
如果我将它放在.hg
文件夹中,python 脚本就会运行,但当我这样做时不会。谁能帮我阐明这个问题?非常感谢。