emacsシェルで git log が途中で止まってしまう問題を解決する

OSX標準のターミナルを使わず emacsの shell-mode を使っていると

$ git log
git log
WARNING: terminal is not fully functional
-  (press RETURN)

のような表示が出て途中で止まってしまう、最後まで表示させたい。

対策1. --no-pagerオプションを付ける

showコマンド等にも設定可能。

$ git --no-pager log 
git --no-pager log
commit 0346fa2652424e0362eca86491aa807426d1cd49
Author: ongaeshi <ongaeshi0621@gmail.com>
Date:   Sun Sep 11 23:30:06 2011 +0900

    一部日本語ファイルで変換に失敗するバグ修正

commit f1a9b8686a48698e1e283d06f34e88e487b51aa3
Author: ongaeshi <ongaeshi0621@gmail.com>
Date:   Sun Sep 11 23:18:23 2011 +0900

    rcovが無い環境でもテストが出来るように
.
.

対策2. git configに設定(永続的)

$ git config --global core.pager ''

コマンド実行後、 ~/.gitconfig にpagerの値が空で設定されていれば成功。

[core]
	excludesfile = /Users/ongaeshi/.gitignore
	editor = emacsclient
+	pager = 

[user]
	name = ongaeshi
        .