diff options
author | Alex Thiessen <alex.thiessen.de+coreboot@gmail.com> | 2018-01-03 08:12:39 +0000 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2018-01-04 13:53:03 +0000 |
commit | ceb7788c8043021a66fd9e0fe55dfe226f742f70 (patch) | |
tree | 89d55b73536ce2bd8283430830bc060901d18f4d | |
parent | 6fc39d47d017409a30239a031b16413e30700452 (diff) |
util/gitconfig: Support dash in pre-commit hook
On debian systems, /bin/sh is `dash` which has built-in `echo` always
interpreting escape sequences such as '\n'. The pre-commit hook uses
the built-in for piping diff to checkpatch, interpreting the diff's
escape sequences in the process and leading to false negatives
and preventing commits despite conformance.
Use `printf` instead of `echo` when handling diff content. The bug was
introduced in commit ef869305 (util/gitconfig: update pre-commit
script).
Change-Id: I37edfe7b32721cb63d99299563cb11f26082c9a9
Signed-off-by: Alex Thiessen <alex.thiessen.de+coreboot@gmail.com>
Reviewed-on: https://review.coreboot.org/23070
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rwxr-xr-x | util/gitconfig/pre-commit | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/util/gitconfig/pre-commit b/util/gitconfig/pre-commit index 257f6964bb..1c04bc34e9 100755 --- a/util/gitconfig/pre-commit +++ b/util/gitconfig/pre-commit @@ -2,8 +2,8 @@ %MAKE% lint-stable PATCHDIFF=$(git diff --cached) -if echo "$PATCHDIFF" | grep -q "@@"; then +if printf "%s\n" "$PATCHDIFF" | grep -q "@@"; then echo echo "Running checkpatch" - echo "$PATCHDIFF" | util/lint/checkpatch.pl --no-signoff -q - + printf "%s\n" "$PATCHDIFF" | util/lint/checkpatch.pl --no-signoff -q - fi |