In order to get coloured output from all git commands, I set the following:
git config --global color.ui true
However, this produces an output like this for git diff, git log

whereas commands like git status display fine

Why is it not recognizing the escaped color codes in only some of the commands and how can I fix it?
I'm using iTerm 2 (terminal type xterm-256color) on OS X 10.8.2 and zsh as my shell
zsh --version
zsh 5.0.0 (x86_64-apple-darwin12.0.0)
git --version
git version 1.7.9.6 (Apple Git-31.1)