On Mon, Jun 20, 2016 at 2:26 AM, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > On Sun, 19 Jun 2016, Eric Sunshine wrote: >> On Sat, Jun 18, 2016 at 6:04 AM, Johannes Schindelin >> <johannes.schindelin@xxxxxx> wrote: >> > if (output_directory) { >> > + rev.diffopt.use_color = 0; >> >> What is this change about? It doesn't seem to be related to anything >> else in the patch. > > Good point, I completely forgot to mention this is the commit message. > > When format-patch calls the diff machinery, want_color() is used to > determine whether to use ANSI color sequences or not. If use_color is not > set explicitly, isatty(1) is used to determine whether or not the user > wants color. When stdout was freopen()ed, this isatty(1) call naturally > looked at the file descriptor that was reopened, and determined correctly > that no color was desired. > > With the freopen() call gone, stdout may very well be the terminal. But we > still do not want color because the output is intended to go to a file (at > least if output_directory is set). Would it make sense to do this as a separate preparatory patch, or is it just too minor? > So how about this commit message (I inserted the "Note: ..." paragraph)? > > -- snipsnap -- > format-patch: avoid freopen() > [...] > Note: we now have to set use_color = 0 explicitly when writing to files, > as the auto-detection whether to colorify the output *still* looks at > stdout (which is no longer freopen()ed, and therefore might still be > printing to the terminal). Thanks. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html