【发布时间】:2015-01-07 11:23:40
【问题描述】:
我想在我的存储库中添加一个挂钩。我不知道我需要把钩子文件放在哪里。 hgrc文件如下:
[hooks]
precommit.test = precommithook
位置是 C:\Code\RepoTest.hg\hgrc
挂钩文件是:
echo "hello world"
位置是 C:\Code\RepoTest.hg\precommithook
当我跑步时
hg 提交 -m"test"
从命令行我得到
running hook precommit.test: precommithook
'precommithook' is not recognized as an internal or external command,
operable program or batch file.
abort: precommit.test hook exited with status 1
我尝试了各种路径,但没有任何效果。
我在 Google 上搜索到的有关 Mercurial 挂钩的大多数示例都是基于 Unix 的。
是否可以在 powershell 中编写挂钩?
【问题讨论】:
-
我把它当作一个批处理文件?你确定有 .bat 扩展名吗?从您的示例中不清楚,我不想假设。
-
它可能是一个批处理文件。我添加了 .bat 扩展名,但我必须添加完整路径才能访问该文件。 C:\Code\RepoTest\.hg\precommithook.bat 无论如何?
-
相对路径可能是:precommit.test = .\precommithook.bat。您可以使用的路径将取决于命令在哪个路径下运行,也许将 %CD% 变量的回显添加到批处理文件中以查看它认为它正在运行的位置,然后这可能有助于确定您需要使用的路径。
标签: mercurial