brew upgradeでgitをversion 1.7.12にしたら
-bash: __git_ps1: command not found
となるエラーが出てちょっとハマったのでメモ。
※ちなみに MacのターミナルでGitのブランチ名を表示する - アインシュタインの電話番号☎ を元にgitコマンドのタブ補完や色つけをしていました
調べてみたらgit-completion.bashで__git_ps1が見つからなくてエラーになってた模様。
解決策としては
source /usr/local/etc/bash_completion.d/git-prompt.sh source /usr/local/etc/bash_completion.d/git-completion.bash GIT_PS1_SHOWDIRTYSTATE=true export PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[34m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '
のように、git-completion.bashの前にgit-prompt.shを読みこませればOKでした
元エントリではgit-completion.bashを手動でコピーしていたようですが、homebrewでgitを入れているなら自動的にエイリアスが貼られるので不要です。*1
$ ls -l /usr/local/etc/bash_completion.d/ total 16 lrwxr-xr-x 1 sue445 admin 65 8 30 00:16 git-completion.bash -> ../../Cellar/git/1.7.12/etc/bash_completion.d/git-completion.bash lrwxr-xr-x 1 sue445 admin 59 8 30 00:16 git-prompt.sh -> ../../Cellar/git/1.7.12/etc/bash_completion.d/git-prompt.sh
*1:今回のようにupgradeで勝手に動かなくなるので諸刃の剣ですが・・・