I came back to an old project on another machine only to find that the git diff command did not behave as expected anymore:
^[[1;33mdiff --git a/myproject/myapp/models.py b/myproject/myapp/models.py^[[m ^[[1;33mindex 0216829..d9e1637 100644^[[m ^[[1;33m--- a/myproject/myapp/models.py^[[m ^[[1;33m+++ b/myproject/myapp/models.py^[[m ^[[1;35m@@ -87,6 +87,12 @@^[[m ^[[mclass DoomDoomDoom(models.Model):^[[m
Instead of showing the colours defined in ~/.gitconfig, it was displaying escaped sequences in black and white, as well as a "(stdin)" prompt at the bottom of the page.
At first I thought it was a difftool issue but actually it relates to the pager, i.e. with either of these commands things works well:
$ git --no-pager diff # No paging $ git diff --color | less -R # With paging
The default pager in git is supposed to be 'less'... Still, making sure it actually is fixed this for me:
$ git config --global core.pager 'less'
I'm still annoyed. Why was a different pager being used (and not showing in git config --list) and what tool was it?