2013-02-17 99 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”窗口中的警告。

不是很复杂,但至少现在记录下来。