Messages in this thread Patch in this message | | | From | Roland Dreier <> | Subject | [PATCH] setlocalversion: Use "grep -q" instead of piping output to "read dummy" | Date | Fri, 23 Mar 2012 09:42:27 -0700 |
| |
From: Roland Dreier <roland@purestorage.com>
In some circumstances (eg when running a build in an emacs shell buffer), I get a spew of messages like
grep: writing output: Broken pipe
from setlocalversion, because the "read" subshell apparently exits as soon as it reads one line and gives EPIPE to grep. It's not clear to me why this way of writing the check was used instead of just using grep -q to suppress output, but unless there is some deep reason I don't know, this way looks cleaner to me anyway, and gets rid of the ugly message spew.
(I double checked at http://pubs.opengroup.org/onlinepubs/009604499/utilities/grep.html and "grep -q" is specified in POSIX / SuS, so hopefully even people cross-compiling the kernel on some bizarre host OS can't complain about this change)
Signed-off-by: Roland Dreier <roland@purestorage.com> --- scripts/setlocalversion | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/scripts/setlocalversion b/scripts/setlocalversion index 4d40384..bd6dca8 100755 --- a/scripts/setlocalversion +++ b/scripts/setlocalversion @@ -75,8 +75,7 @@ scm_version() [ -w . ] && git update-index --refresh --unmerged > /dev/null # Check for uncommitted changes - if git diff-index --name-only HEAD | grep -v "^scripts/package" \ - | read dummy; then + if git diff-index --name-only HEAD | grep -qv "^scripts/package"; then printf '%s' -dirty fi -- 1.7.9.1
| |