diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2010-02-14 23:04:13 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-02-14 22:05:17 -0800 |
commit | f6dff119d51e0067d213068093039bb2f939d139 (patch) | |
tree | db787d1d1aa1ef9b9f83d5b7c57516c3169dcfd3 /git-am.sh | |
parent | 190c1cda7eb6dc03be80f45d3d174c313d23da2c (diff) | |
download | git-f6dff119d51e0067d213068093039bb2f939d139.tar.gz git-f6dff119d51e0067d213068093039bb2f939d139.tar.xz |
am: Fix launching of pager
The pagination functionality in git am has some problems:
- It does not check if stdout is a tty, so it always paginates.
- If $GIT_PAGER uses any environment variables, they are being
ignored, since it does not run $GIT_PAGER through eval.
- If $GIT_PAGER is set to the empty string, instead of passing
output through to stdout, it tries to run $dotest/patch.
Fix them. While at it, move the definition of git_pager() to
git-sh-setup so authors of other commands are not tempted to
reimplement it with the same mistakes.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-am.sh')
-rwxr-xr-x | git-am.sh | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -663,10 +663,7 @@ do [eE]*) git_editor "$dotest/final-commit" action=again ;; [vV]*) action=again - : ${GIT_PAGER=$(git var GIT_PAGER)} - : ${LESS=-FRSX} - export LESS - $GIT_PAGER "$dotest/patch" ;; + git_pager "$dotest/patch" ;; *) action=again ;; esac done |