Git: Python mit pycodestyle als pre-commit hook

Python Skripe können über das Pythonmodul pycodestyle vor dem Commit auf syntaktische Fehler geprüft werden.

Dazu muss pycodestyle (Nachfolger von pep8) installiert sein:
python -m pip install pycodestyle

Danach kann im .git-Verzeichnis der pre-commit hook angelegt werden:

.git/hooks/pre-commit:

#!/bin/sh
FILES=$(git diff --cached --name-only --diff-filter=ACMR)
python -m pycodestyle ${FILES}

Damit würde im Fall eines Fehlers der Commit NICHT durchgeführt werden.Der diff-filter-Parameter greift bei folgenden Typen:

Der diff-filter – Parameter greift bei folgenden Typen:

  • A=Added (hinzugefügt)
  • C=Copied (kopiert)
  • M=Modified (geändert)
  • R=Renamed (umbenannt)