0

有没有办法在 git 服务器端设置 Python 源代码检查?

像这样的东西(这是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钩子)。

4

1 回答 1

2

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

有了这些知识,您就可以在这两个提交之间进行比较,列出存在的文件,检查它们的语法,并在您不喜欢它们的情况下失败。如果推送了一个全新的分支,${oldrev}则将是 40 个零,因此您可能必须检查新提交中的所有文件。

于 2012-08-14T11:40:36.653 回答