aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Dreier <roland@purestorage.com>2012-03-23 12:42:27 -0400
committerMichal Marek <mmarek@suse.cz>2012-03-26 16:54:00 -0400
commit7f3bd6c9cb8e9fa2b57bfa860cd3e734a28f48ed (patch)
tree2fdc4e64fce2f6697683b4b05c20877036d62572
parent9aaf440f8fabcebf9ea79a62ccf4c212e6544b49 (diff)
setlocalversion: Use "grep -q" instead of piping output to "read dummy"
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> Signed-off-by: Michal Marek <mmarek@suse.cz>
-rwxr-xr-xscripts/setlocalversion3
1 files changed, 1 insertions, 2 deletions
diff --git a/scripts/setlocalversion b/scripts/setlocalversion
index 4d403844e13..bd6dca8a0ab 100755
--- a/scripts/setlocalversion
+++ b/scripts/setlocalversion
@@ -75,8 +75,7 @@ scm_version()
75 [ -w . ] && git update-index --refresh --unmerged > /dev/null 75 [ -w . ] && git update-index --refresh --unmerged > /dev/null
76 76
77 # Check for uncommitted changes 77 # Check for uncommitted changes
78 if git diff-index --name-only HEAD | grep -v "^scripts/package" \ 78 if git diff-index --name-only HEAD | grep -qv "^scripts/package"; then
79 | read dummy; then
80 printf '%s' -dirty 79 printf '%s' -dirty
81 fi 80 fi
82 81