am: Fix launching of pager
authorJonathan Nieder <jrnieder@gmail.com>
Mon, 15 Feb 2010 05:04:13 +0000 (23:04 -0600)
committerJunio C Hamano <gitster@pobox.com>
Mon, 15 Feb 2010 06:05:17 +0000 (22:05 -0800)
commitf6dff119d51e0067d213068093039bb2f939d139
treedb787d1d1aa1ef9b9f83d5b7c57516c3169dcfd3
parent190c1cda7eb6dc03be80f45d3d174c313d23da2c
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>
git-am.sh
git-sh-setup.sh