Alex Thiessen has uploaded this change for review. ( https://review.coreboot.org/23070
Change subject: util/gitconfig: Support dash in pre-commit hook ......................................................................
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.
Change-Id: I37edfe7b32721cb63d99299563cb11f26082c9a9 Signed-off-by: Alex Thiessen alex.thiessen.de+coreboot@gmail.com --- M util/gitconfig/pre-commit 1 file changed, 2 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/70/23070/1
diff --git a/util/gitconfig/pre-commit b/util/gitconfig/pre-commit index 257f696..1c04bc3 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