2012-08-14 45 views
0

有什么方法可以在git服务器端设置Python源代码检查吗?在git服务器上检查样式

像这样的东西(这是pre-commit钩):

#!/bin/sh 
FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -e '\.py$') 

if [ -n "$FILES" ]; then 
    flake8 -r $FILES 
fi 

,但在服务器端(也许update钩)。

+0

你在服务器上使用裸仓库吗? – 2012-08-14 11:39:34

+0

我不确定我了解你 – qutron 2012-08-14 11:40:31

回答

2

您可以添加更新挂钩,该挂钩将以${ref} ${oldrev} ${newrev}的格式获取输入文件,例如,像refs/heads/master ddf343f635fe4440cad528e12f96f28bd50aa099 f59abbf28696389c91c2697c7db31f20cfa91d8a

用这些知识武装起来,然后你可以在这两个提交之间进行区分,列出那里的文件,检查它们的语法,以及在你不喜欢它们的情况下失败。如果推送了一个全新的分支,则${oldrev}将为40个零,因此您必须检查新提交中的所有文件。