pager: environment variable GIT_PAGER to override PAGER
authorMatthias Lederhofer <matled@gmx.net>
Mon, 31 Jul 2006 13:27:00 +0000 (15:27 +0200)
committerJunio C Hamano <junkio@cox.net>
Mon, 31 Jul 2006 22:51:25 +0000 (15:51 -0700)
Signed-off-by: Matthias Lederhofer <matled@gmx.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation/git.txt
pager.c

index 7310a2b8b8bc474f53d498d254cab772a8ef45ae..d24388368e5c84957dda9730fd59702db7b0fd83 100644 (file)
@@ -627,6 +627,9 @@ git Diffs
 
 other
 ~~~~~
+'GIT_PAGER'::
+       This environment variable overrides `$PAGER`.
+
 'GIT_TRACE'::
        If this variable is set git will print `trace:` messages on
        stderr telling about alias expansion, built-in command
diff --git a/pager.c b/pager.c
index 280f57f796c84d1c1fd54e295b542c3b33490b3e..dcb398da8e703de2999badb976dee7322eff470b 100644 (file)
--- a/pager.c
+++ b/pager.c
@@ -15,10 +15,12 @@ void setup_pager(void)
 {
        pid_t pid;
        int fd[2];
-       const char *pager = getenv("PAGER");
+       const char *pager = getenv("GIT_PAGER");
 
        if (!isatty(1))
                return;
+       if (!pager)
+               pager = getenv("PAGER");
        if (!pager)
                pager = "less";
        else if (!*pager || !strcmp(pager, "cat"))