为什么我的mercurial预提交钩子在MinGW中不起作用

时间:2011-06-03 11:31:56

标签: version-control mercurial mingw mercurial-hook

我的.hgrc文件中有一个预提交挂钩,用于检查是否将超过5MB的文件添加到存储库中。钩子是:

pre-commit.added-files-too-large = test 5000 -gt `hg status --added --no-status --print0 | xargs --null ls -lk | awk \'{sum += $5} END {print sum}\'`

这适用于Linux(使用bash),但不适用于MinGW。如果我只是从MinGW shell命令行运行相同的命令,它将按预期工作。

错误消息是

test: invalid integer ``hg'

我怀疑错误与引用的方式有关,但我尝试了很多组合(包括将反引号更改为$()),我似乎无法找到正确的答案。

非常感谢任何帮助或指示。

1 个答案:

答案 0 :(得分:0)

我的猜测是嵌入式脚本会输出某种错误,因此测试会看到字符串而不是数字。

从命令行运行命令hs status...以查看它打印的内容。