如何在 Windows 上编写 mercurial hooks?
How to write mercurial hooks on windows?
我想在我的存储库中添加一个挂钩。我不知道我需要把挂钩文件放在哪里。 hgrc文件如下:
[hooks]
precommit.test = precommithook
位置是C:\Code\RepoTest.hg\hgrc
挂钩文件是:
echo "hello world"
位置是C:\Code\RepoTest.hg\precommithook
当我运行
hg commit -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
我尝试了各种方法,但没有任何效果。
我在谷歌上搜索到的关于 Mercurial 挂钩的大多数示例都是基于 Unix 的。
是否可以在 powershell 中编写挂钩?
根据 Hooks 文档,hook 必须在给定的环境程序中可执行,它没有预定义的位置,但必须由 OS 找到。
因此:
- 对于纯 Windows,钩子必须命名为
precommithook.bat
- 必须放在 $PATH 中的 dir 或钩子定义中使用的完整路径
因此,
precommit.test = z:\precommit.bat
在 hgrc
@echo off
echo Hello World
在 z:\precommit.bat
我有提交尝试
>hg commit -m "Edits"
Hello World
我想在我的存储库中添加一个挂钩。我不知道我需要把挂钩文件放在哪里。 hgrc文件如下:
[hooks]
precommit.test = precommithook
位置是C:\Code\RepoTest.hg\hgrc
挂钩文件是:
echo "hello world"
位置是C:\Code\RepoTest.hg\precommithook
当我运行
hg commit -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
我尝试了各种方法,但没有任何效果。
我在谷歌上搜索到的关于 Mercurial 挂钩的大多数示例都是基于 Unix 的。
是否可以在 powershell 中编写挂钩?
根据 Hooks 文档,hook 必须在给定的环境程序中可执行,它没有预定义的位置,但必须由 OS 找到。
因此:
- 对于纯 Windows,钩子必须命名为
precommithook.bat
- 必须放在 $PATH 中的 dir 或钩子定义中使用的完整路径
因此,
precommit.test = z:\precommit.bat
在 hgrc
@echo off
echo Hello World
在 z:\precommit.bat
我有提交尝试
>hg commit -m "Edits"
Hello World