Kontroly codestylu nechceme
This commit is contained in:
		
							parent
							
								
									350623c6ac
								
							
						
					
					
						commit
						75344c2c3a
					
				
					 3 changed files with 0 additions and 107 deletions
				
			
		|  | @ -1,16 +0,0 @@ | ||||||
| git hooks |  | ||||||
| ========= |  | ||||||
| 
 |  | ||||||
| Kontrola stylu pythoních zdrojáků pomocí flake8. Kontrolujeme jen změny, |  | ||||||
| abychom nenutili lidi dělat nesouvisející úpravy, které by rozbíjely historii |  | ||||||
| (git blame). |  | ||||||
| 
 |  | ||||||
| pre-commit |  | ||||||
| ---------- |  | ||||||
| * kontrola změn před commitnutím |  | ||||||
| * instalace: lokálně zkopírovat do .git/hooks (musí být spustitelný) |  | ||||||
| 
 |  | ||||||
| update |  | ||||||
| ------ |  | ||||||
| * kontrola změn přicházejících s pushem |  | ||||||
| * instalace: na atreyi zkopírovat do /akce/MaM/MaMweb/mamweb.git/hooks |  | ||||||
|  | @ -1,30 +0,0 @@ | ||||||
| #!/bin/sh |  | ||||||
| # |  | ||||||
| # Git hook script to verify what is about to be committed. |  | ||||||
| # Checks that the changes don't introduce new flake8 errors. |  | ||||||
| 
 |  | ||||||
| TMPDIFF=`tempfile` |  | ||||||
| FLAKE8="`git rev-parse --show-toplevel`/bin/flake8" |  | ||||||
| 
 |  | ||||||
| status=0 |  | ||||||
| 
 |  | ||||||
| # select only changed python files which are not migrations |  | ||||||
| changed=`git diff --cached --name-only | grep 'py$' | grep -v 'migrations/[0-9]'` |  | ||||||
| if [ -z $changed ] ; then |  | ||||||
|     # Nothing to check. Note the exit is necessary -- we would not pass any |  | ||||||
|     # paths to git diff below and it would output the diff unfiltered. |  | ||||||
|     exit 0 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| git diff --unified=1 --cached HEAD -- $changed > $TMPDIFF |  | ||||||
| 
 |  | ||||||
| # only do the check when there are some changes to be commited |  | ||||||
| # otherwise flake8 would hang waiting for input |  | ||||||
| if [ -s $TMPDIFF ] ; then |  | ||||||
|     cat $TMPDIFF | $FLAKE8 --diff |  | ||||||
|     status=$? |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| rm -f $TMPDIFF |  | ||||||
| 
 |  | ||||||
| exit $status |  | ||||||
|  | @ -1,61 +0,0 @@ | ||||||
| #!/bin/sh |  | ||||||
| 
 |  | ||||||
| # git update hook to check that pushed changes don't introduce new flake8 |  | ||||||
| # errors |  | ||||||
| 
 |  | ||||||
| # --- Command line |  | ||||||
| refname="$1" |  | ||||||
| oldrev="$2" |  | ||||||
| newrev="$3" |  | ||||||
| 
 |  | ||||||
| # --- Safety check |  | ||||||
| if [ -z "$GIT_DIR" ]; then |  | ||||||
| 	echo "Don't run this script from the command line." >&2 |  | ||||||
| 	echo " (if you want, you could supply GIT_DIR then run" >&2 |  | ||||||
| 	echo "  $0 <ref> <oldrev> <newrev>)" >&2 |  | ||||||
| 	exit 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then |  | ||||||
| 	echo "usage: $0 <ref> <oldrev> <newrev>" >&2 |  | ||||||
| 	exit 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| TMPDIR=`mktemp -d` |  | ||||||
| TMPDIFF=`tempfile` |  | ||||||
| 
 |  | ||||||
| [ $refname != "refs/heads/master" -a $refname != "refs/heads/stable" ] && exit 0 |  | ||||||
| 
 |  | ||||||
| # select only changed python files which are not migrations |  | ||||||
| changed=`git diff --name-only $oldrev $newrev | grep 'py$' | grep -v 'migrations/[0-9]'` |  | ||||||
| if [ -z $changed ] ; then |  | ||||||
|     # Nothing to check. Note the exit is necessary -- we would not pass any |  | ||||||
|     # paths to git diff below and it would output the diff unfiltered. |  | ||||||
|     exit 0 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| git diff --unified=1 $oldrev $newrev -- $changed >${TMPDIFF} |  | ||||||
| 
 |  | ||||||
| # there is no working tree in bare git repository, so we recreate it for flake8 |  | ||||||
| git archive $newrev | tar -x -C ${TMPDIR} |  | ||||||
| 
 |  | ||||||
| cd ${TMPDIR} |  | ||||||
| # report only errors on lines in diff |  | ||||||
| # (if threre was flake8 installed on atrey, we could just call flake8) |  | ||||||
| /akce/MaM/WWW/mamweb-test/bin/flake8 --diff <${TMPDIFF} |  | ||||||
| status=$? |  | ||||||
| if [ $status != 0 ] ; then |  | ||||||
|     echo |  | ||||||
|     echo -n "Změny, které se snažíte pushnout, obsahují kód v pythonu " |  | ||||||
|     echo -n "nevyhovující flake8 (viz výše). Opravte je a zkuste to znovu. " |  | ||||||
|     echo -n "Nezapomeňte, že můžete editovat historii (git commit --amend, " |  | ||||||
|     echo -n "git rebase -i). Pokud byste chybu příště raději odhalili už při " |  | ||||||
|     echo "commitu, zkopírujte si pre-commit hook z _git_hooks do .git/hooks." |  | ||||||
|     echo |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| rm -rf ${TMPDIR} |  | ||||||
| rm -f ${TMPDIFF} |  | ||||||
| 
 |  | ||||||
| exit $status |  | ||||||
		Loading…
	
		Reference in a new issue