From 0300aa85f3ba8cc7cdd38f719628dc0a28170c84 Mon Sep 17 00:00:00 2001 From: Gaƫtan Gilbert Date: Mon, 8 Jan 2018 23:56:30 +0100 Subject: Simplify logic and streamline lint-repository.sh We inline should-check-whitespace.sh in check-eof-newline.sh simplifying the find invocation. --- dev/lint-repository.sh | 5 ++--- dev/tools/check-eof-newline.sh | 19 ++++++++++++------- dev/tools/should-check-whitespace.sh | 6 ------ 3 files changed, 14 insertions(+), 16 deletions(-) delete mode 100755 dev/tools/should-check-whitespace.sh (limited to 'dev') diff --git a/dev/lint-repository.sh b/dev/lint-repository.sh index 95b72787fb..e3ec51aeb6 100755 --- a/dev/lint-repository.sh +++ b/dev/lint-repository.sh @@ -28,8 +28,7 @@ fi # Check that the files with 'whitespace' gitattribute end in a newline. # xargs exit status is 123 if any file failed the test -find . "(" -path ./.git -prune ")" -type f \ --o "(" -exec dev/tools/should-check-whitespace.sh '{}' ';' ")" \ --print0 | xargs -0 -L 1 dev/tools/check-eof-newline.sh || CODE=1 +find . "(" -path ./.git -prune ")" -o -type f -print0 | + xargs -0 dev/tools/check-eof-newline.sh || CODE=1 exit $CODE diff --git a/dev/tools/check-eof-newline.sh b/dev/tools/check-eof-newline.sh index 1c578c05ce..9e4c8661dc 100755 --- a/dev/tools/check-eof-newline.sh +++ b/dev/tools/check-eof-newline.sh @@ -1,9 +1,14 @@ #!/usr/bin/env bash -if [ -z "$(tail -c 1 "$1")" ] -then - exit 0 -else - echo "No newline at end of file $1!" - exit 1 -fi +CODE=0 +for f in "$@"; do + if git ls-files --error-unmatch "$f" >/dev/null 2>&1 && \ + git check-attr whitespace -- "$f" | grep -q -v -e 'unset$' -e 'unspecified$' && \ + [ -n "$(tail -c 1 "$f")" ] + then + echo "No newline at end of file $f!" + CODE=1 + fi +done + +exit "$CODE" diff --git a/dev/tools/should-check-whitespace.sh b/dev/tools/should-check-whitespace.sh deleted file mode 100755 index d85d651070..0000000000 --- a/dev/tools/should-check-whitespace.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -# determine if a file has whitespace checking enabled in .gitattributes - -git ls-files --error-unmatch "$1" >/dev/null 2>&1 && -git check-attr whitespace -- "$1" | grep -q -v -e 'unset$' -e 'unspecified$' -- cgit v1.2.3