Hello git(1),
first of all i have to say thanks to the guy who brought up Pro-Git on this list a few weeks ago! *Thank you, man*! I love this book, and i *adore* chapter 9! Beep beep actually beeping software! Yes!! (I hope you do this with adorable software only ... Such a beep. Beep.)
So while exploring git(1) i recently tried out colours (it's oh so coloured for a two, since 2011 three colors vim(1) user - fascinating) and found a control flow bug:
?0%0[steffen@sherwood git.git]$ ./git --version
git version 1.7.6.233.gd79bc.dirty
?0%0[steffen@sherwood git.git]$ ./git -c color.ui=auto -c color.pager=false diff 2> AU; cat AU
git_config_colorbool(color.ui,auto,-1)
[pager_in_use(): spawned:0, GIT_PAGER_IN_USE:0]
auto_color:1
color acc. 2 getenv(TERM)
git_default_config(color.pager,false): 0So the pager is spawned after the color config setting has been queried (and the latter is never updated). I'm not aware of the codebase, and so i can't offer a patch, unfortunately. I tried the following change in color.c first, but that's not a solution for the real problem:
jauto_color:
if (pager_in_use())
stdout_is_tty = pager_use_color;
else if (stdout_is_tty < 0)
stdout_is_tty = isatty(1);
if (stdout_is_tty) {
...--Steffen
Ciao, sdaoden(*)(gmail.com)
ASCII ribbon campaign ( ) More nuclear fission plants
against HTML e-mail X can serve more coloured
and proprietary attachments / \ and sounding animations