diff options
author | 2018-02-20 14:52:49 +0100 | |
---|---|---|
committer | 2018-02-23 23:59:30 +0100 | |
commit | 6ef5c101facffc902577519bcfb0ffdcbe1be166 (patch) | |
tree | 99a9166f3e0d4f2d304072c29e712c6cc0c4df46 /dev | |
parent | aec63ba9c8f6840d98ba731640a786138d836343 (diff) |
Check whitespace errors per-commit.
Otherwise it is possible to detect errors that are not fixed by git
rebase since that works per-commit.
Diffstat (limited to 'dev')
-rwxr-xr-x | dev/lint-commits.sh | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/dev/lint-commits.sh b/dev/lint-commits.sh index eb12bc227..d8043558e 100755 --- a/dev/lint-commits.sh +++ b/dev/lint-commits.sh @@ -19,14 +19,21 @@ fi BASE_COMMIT="$1" HEAD_COMMIT="$2" -# git diff --check -# uses .gitattributes to know what to check -if git diff --check "$BASE_COMMIT" "$HEAD_COMMIT"; +bad=() +while IFS= read -r commit; do + echo Checking "$commit" + # git diff --check + # uses .gitattributes to know what to check + if ! git diff --check "${commit}^" "$commit"; + then + bad+=("$commit") + fi +done < <(git rev-list "$HEAD_COMMIT" --not "$BASE_COMMIT" --) + +if [ "${#bad[@]}" != 0 ] then - : -else >&2 echo "Whitespace errors!" - >&2 echo "Running 'git diff --check $BASE_COMMIT $HEAD_COMMIT'." + >&2 echo "In commits ${bad[*]}" >&2 echo "If you use emacs, you can prevent this kind of error from reocurring by installing ws-butler and enabling ws-butler-convert-leading-tabs-or-spaces." exit 1 fi |