2011-06-03 40 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