【问题标题】:Why doesn't my mercurial pre-commit hook work in MinGW为什么我的 mercurial 预提交挂钩在 MinGW 中不起作用
【发布时间】:2011-06-03 11:31:55
【问题描述】:

我的 .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'

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

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

【问题讨论】:

    标签: version-control mercurial mingw mercurial-hook


    【解决方案1】:

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

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

    【讨论】:

    • 单独运行hg status ... 命令会生成一个数字,该数字与预期的添加文件的大小相同。不过还是要谢谢你,你帮助我意识到如果没有添加文件就会出现问题(在这种情况下,它会打印当前目录中文件的大小)。
    猜你喜欢
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多