e054b368dc
Currently tox -epep8 will run flake8 on whole code. To make this fast, flake8 support is added for only updated(delta) code. Same can be run by "tox -efast8". It also determines how many commits to check based on the $FAST8_NUM_COMMITS env variable. If set to "smart", it uses git to try to run against all unsubmitted commits. This allows fast8 to be more useful when actively developing a series of patches. Closes-Bug: #1829455 Change-Id: Ic02d7a91c6f6b227abf14bc6f7cb85815591c0d3
26 lines
586 B
Bash
Executable File
26 lines
586 B
Bash
Executable File
#!/bin/bash
|
|
|
|
NUM_COMMITS=${FAST8_NUM_COMMITS:-1}
|
|
|
|
if [[ $NUM_COMMITS = "smart" ]]; then
|
|
# Run on all commits not submitted yet
|
|
# (sort of -- only checks vs. "master" since this is easy)
|
|
NUM_COMMITS=$(git cherry master | wc -l)
|
|
fi
|
|
|
|
echo "Checking last $NUM_COMMITS commits."
|
|
|
|
cd $(dirname "$0")/..
|
|
CHANGED=$(git diff --name-only HEAD~${NUM_COMMITS} | tr '\n' ' ')
|
|
|
|
# Skip files that don't exist
|
|
# (have been git rm'd)
|
|
CHECK=""
|
|
for FILE in $CHANGED; do
|
|
if [ -f "$FILE" ]; then
|
|
CHECK="$CHECK $FILE"
|
|
fi
|
|
done
|
|
|
|
diff -u --from-file /dev/null $CHECK | flake8 --diff
|