运行Windows7,在我的.hgrc文件中配置提交挂钩。
钩子调用外部powershell脚本并向其传递一些参数。当我把所有的参数放在一个很长的一行上时,脚本可以很好地接收它们。但是,当我尝试将每个参数放在自己的行上时,钩子无法确定它们都是对外部脚本的同一调用的一部分。
钩子
commit.working_one_liner = PowerShell.exe -ExecutionPolicy Bypass -File .\MyScript.ps1 -hg %HG% -updatedToChangeset %HG_NODE% -dbName 'Test'
commit.multi_line_hook_not_working = PowerShell.exe
-ExecutionPolicy Bypass
-File .\MyScript.ps1
-hg %HG%
-updatedToChangeset %HG_NODE%
-dbName 'Test'根据Hg documentation的说法,我应该能够这样做:
“配置文件由部分组成,以部分标题开头,后跟name = value条目(有时称为配置键):
[spam]
eggs=ham
green=
eggs每行包含一个条目。如果后面的行是缩进的,它们将被视为该条目的延续。从值中删除前导空格。跳过空行。以#或;开头的行将被忽略,并可用于提供注释。“
尽管缩进,multi_line_hook似乎忽略了第一行之后的所有内容。我尝试过各种转义字符(`、^、\等)。在每个新行之后。你知道我这里漏掉了什么吗?
发布于 2015-03-18 03:55:58
文档中的示例仅适用于要遵循的第一行,而不适用于其余行。
我目前无法访问windows,但在linux上我需要使用反斜杠:
[hooks]
commit.working = echo \
test
https://stackoverflow.com/questions/28861749
复制相似问题