summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilhelm Schuermann <wimschuermann@googlemail.com>2015-03-18 19:00:13 +0100
committerJunio C Hamano <gitster@pobox.com>2015-03-19 11:54:03 -0700
commitc2048f0b394fc5d5644956481b39f3d099cbe51c (patch)
tree372ff4bcf147f2797dea4b22b2e5fa4827df1c17
parent282616c72d1d08a77ca4fe1186cb708c38408d87 (diff)
downloadgit-ws/grep-quiet-no-pager.tar.gz
grep: fix "--quiet" overwriting current outputws/grep-quiet-no-pager
When grep is called with the --quiet option, the pager is initialized despite not being used. When the pager is "less", anything output by previous commands and not ended with a newline is overwritten: $ echo -n aaa; echo bbb aaabbb $ echo -n aaa; git grep -q foo; echo bbb bbb This can be worked around, for example, by making sure STDOUT is not a TTY or more directly by setting git's pager to "cat": $ echo -n aaa; git grep -q foo > /dev/null; echo bbb aaabbb $ echo -n aaa; PAGER=cat git grep -q foo; echo bbb aaabbb But prevent calling the pager in the first place, which would also save an unnecessary fork(). Signed-off-by: Wilhelm Schuermann <wimschuermann@googlemail.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/grep.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/grep.c b/builtin/grep.c
index b8d440d0e0..39fa4cb434 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -887,7 +887,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
}
}
- if (!show_in_pager)
+ if (!show_in_pager && !opt.status_only)
setup_pager();
if (!use_index && (untracked || cached))