2013-02-17 95 views
4

我一直在使用git中的預提交鉤子來檢查我或其他人在工作中提交項目時是否出現問題。我可以以非零狀態退出以表明提交具有應該立即修復的嚴重問題。在預提交鉤子中提高git警告

但是,有時候這個問題只是程序員需要警告的問題(比如他們需要根據他們的變化更新幫助文件)。有沒有什麼方法可以提高git警告的效果,例如「LF將被CRLF取代」?我的部分動機是,我們中有些人使用SmartGit,因此警告以黃色顯示。

後提交鉤看起來很有希望,但嘗試不同的返回值後,它從來沒有真正給我一個警告。將所有內容都保存在預先提交的鉤子中是很好的,我相信有更好的方法可以做到這一點。感謝您提供的任何提示!

+0

您是否嘗試過'迴應您的警告? – Chronial 2013-02-20 00:41:08

+0

是的,這是我過去的解決方案。 – davidvandebunte 2013-02-28 03:48:31

回答

2

似乎能夠返回警告返回碼的想法只是SmartGit在我的腦海中植入的東西。底層的git只爲成功返回零,失敗則爲非零。

運行這混帳bash的Windows上,例如:

touch tmp.txt 
echo "lf line endings" > tmp.txt 
git add tmp.txt 
echo $? 

你應該得到零作爲最後返回代碼,即使「警告」剛剛出現的最後一次通話後的Git(和SmartGit認可它作爲一個警告,可能給了你一個不錯的黃色三角形)。

通過嘗試它(即困難的方式),我意識到SmartGit只是搜索以「warning:」開頭的行,並吸取行中的「warning:」部分來觸發漂亮的黃色三角形。它將刪除「warning:」文本,並將「warning:」中的「:」之後的所有內容都打印爲「Output」窗口中的警告。

不是很複雜,但至少現在記錄下來。