pager: find out pager setting from configuration

It was very unfortunate that we added core.pager setting to the
configuration file; even when the underlying command does not care
if there is no git repository is involved (think "git diff --no-index"),
the user would now rightfully want the configuration setting to be
honored, which means we would need to read the configuration file before
we launch the pager.

This is a minimum change in the sense that it restores the old
behaviour of not even reading config in setup_git_directory(),
but have the core.pager honored when we know it matters.

Note that this does not cover "git -p --git-dir where command";
the -p option immediately trigger the pager settings before we
even see --git-dir to learn where the configuration file is, so
we will end up reading the configuration from the place where
we would _normally_ find the git repository.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2007-08-06 21:08:43 -07:00
parent 3f0a8f3c01
commit cad3a2056d

View File

@ -31,8 +31,11 @@ void setup_pager(void)
if (!isatty(1))
return;
if (!pager)
if (!pager) {
if (!pager_program)
git_config(git_default_config);
pager = pager_program;
}
if (!pager)
pager = getenv("PAGER");
if (!pager)