From: Linus Torvalds Date: Fri, 21 Apr 2006 19:25:13 +0000 (-0700) Subject: git-log produces no output X-Git-Tag: v1.3.1~4 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=34fd1c9ac5845d541e3196983df7f993e751b544;p=git.git git-log produces no output When $PAGER is set to 'less -i', we used to fail because we assumed the $PAGER is a command and simply exec'ed it. Try exec first, and then run it through shell if it fails. This allows even funkier PAGERs like these ;-): PAGER='sed -e "s/^/`date`: /" | more' PAGER='contrib/colordiff.perl | less -RS' Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- diff --git a/pager.c b/pager.c index e5ba2738b..f7b8e7871 100644 --- a/pager.c +++ b/pager.c @@ -8,6 +8,7 @@ static void run_pager(const char *pager) { execlp(pager, pager, NULL); + execl("/bin/sh", "sh", "-c", pager, NULL); } void setup_pager(void) @@ -47,5 +48,6 @@ void setup_pager(void) setenv("LESS", "-S", 0); run_pager(pager); + die("unable to execute pager '%s'", pager); exit(255); }