summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-07-27 12:21:43 -0700
committerJunio C Hamano <gitster@pobox.com>2015-07-27 12:21:44 -0700
commit342c14db8c1c570f24993c44d7687e541537d6bc (patch)
treeb06b645ceb09edb8377557f4a0d9a686d82caf6b
parent3b175fb940ba970a840cbef3e1e354163838d0eb (diff)
parent124b51909dab82151dff8ae8fd3a588a8846c7ac (diff)
downloadgit-342c14db8c1c570f24993c44d7687e541537d6bc.tar.gz
Merge branch 'jc/unexport-git-pager-in-use-in-pager' into maint
When you say "!<ENTER>" while running say "git log", you'd confuse yourself in the resulting shell, that may look as if you took control back to the original shell you spawned "git log" from but that isn't what is happening. To that new shell, we leaked GIT_PAGER_IN_USE environment variable that was meant as a local communication between the original "Git" and subprocesses that was spawned by it after we launched the pager, which caused many "interesting" things to happen, e.g. "git diff | cat" still paints its output in color by default. Stop leaking that environment variable to the pager's half of the fork; we only need it on "Git" side when we spawn the pager. * jc/unexport-git-pager-in-use-in-pager: pager: do not leak "GIT_PAGER_IN_USE" to the pager
-rw-r--r--pager.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/pager.c b/pager.c
index 98b26823c9..070dc11cb0 100644
--- a/pager.c
+++ b/pager.c
@@ -78,6 +78,7 @@ void setup_pager(void)
argv_array_push(&pager_process.env_array, "LESS=FRX");
if (!getenv("LV"))
argv_array_push(&pager_process.env_array, "LV=-c");
+ argv_array_push(&pager_process.env_array, "GIT_PAGER_IN_USE");
if (start_command(&pager_process))
return;