diff options
author | Linus Torvalds <torvalds@osdl.org> | 2006-04-21 12:25:13 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-04-21 13:00:10 -0700 |
commit | 34fd1c9ac5845d541e3196983df7f993e751b544 (patch) | |
tree | e02022fb81d410dd0d897888fbafb5a0b1df1603 /pager.c | |
parent | 0dec30b9788b12fdae5d5b69fc366a28bb688d80 (diff) | |
download | git-34fd1c9ac5845d541e3196983df7f993e751b544.tar.gz |
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 <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'pager.c')
-rw-r--r-- | pager.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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); } |