On Mon, Feb 24, 2014 at 01:34:34PM -0600, Robert Dailey wrote:

> So I set GIT_PAGER to 'echo custom pager' as you instructed, and I
> noticed that wasn't being printed when I ran my git log alias. So what
> I did after that was set GIT_TRACE=1 and here is the output I see
> before my logs start printing:
> [...]
> Does using an alias have something to do with this?

The aliases shouldn't matter (and I constructed a scenario like the one
you showed and it starts the pager for me on Linux). It's more like git
is deciding not to show a pager at all (e.g., it thinks your stdout is
not a tty). Does running:

  git log

not use a pager, but:

  git -p log

does? In that case, I think that your stdout is not a tty for some

If that is the case, try:

  git -p lg

That _should_ turn on the pager, but I think it does not due to a bug
with setup_pager and aliases. Something like the patch below would make
it work (but if you are having to use "-p" manually, there is something
to fix in your cygwin environment, which does not think you are on a


diff --git a/cache.h b/cache.h
index dc040fb..ecc410e 100644
--- a/cache.h
+++ b/cache.h
@@ -1238,6 +1238,7 @@ static inline ssize_t write_str_in_full(int fd, const 
char *str)
 /* pager.c */
 extern void setup_pager(void);
+extern void setup_pager_with_options(int stdout_is_tty);
 extern const char *pager_program;
 extern int pager_in_use(void);
 extern int pager_use_color;
diff --git a/git.c b/git.c
index 7cf2953..ad54891 100644
--- a/git.c
+++ b/git.c
@@ -27,7 +27,7 @@ static void commit_pager_choice(void) {
                setenv("GIT_PAGER", "cat", 1);
        case 1:
-               setup_pager();
+               setup_pager_with_options(1);
diff --git a/pager.c b/pager.c
index 0cc75a8..b28125d 100644
--- a/pager.c
+++ b/pager.c
@@ -62,7 +62,12 @@ const char *git_pager(int stdout_is_tty)
 void setup_pager(void)
-       const char *pager = git_pager(isatty(1));
+       setup_pager_with_options(isatty(1));
+void setup_pager_with_options(int stdout_is_tty)
+       const char *pager = git_pager(stdout_is_tty);
        if (!pager || pager_in_use())
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to