2011-06-03 39 views
0

我的.hgrc文件中有一个预先提交的钩子,它检查是否有超过5MB的文件将被添加到存储库。挂钩是:为什么我的mercurial pre-commit hook工作在MinGW

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' 

我怀疑是错误的东西做的事情是如何报价,但我已经尝试了大量的组合(包括改变反引号为$()),我可以似乎找不到正确的答案。

任何帮助或指针将不胜感激。

回答

0

我的猜测是嵌入脚本打印某种错误,所以测试看到一个字符串,而不是一个数字。

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

+0

单独运行'hg status ...'命令会生成一个数字,它是所添加文件的大小。谢谢你,但是,你已经帮助我认识到,如果没有添加文件(在这种情况下,它打印当前目录中的文件的大小)有问题。 – Carcophan 2011-06-03 11:59:34