On Mon, 19 Jun 2017 19:48:05 -0700 Stefan Beller <sbeller@xxxxxxxxxx> wrote: > As the submodule process is no longer attached to the same stdout as > the superprojects process, we need to pass coloring explicitly. I found this confusing - what difference does the stdout make? If they were the same stdout, one process could set a color for the other process to follow, but it wouldn't be able to affect color changes inside the output, right? > Remove the colors from the function signatures, as all the coloring > decisions will be made either inside the child process or the final > emit_diff_symbol. This seems to be of the same pattern as the others. I would write this as: Create diff_emit_submodule_.* functions that make its own coloring decisions and migrate submodule.c to use them. This centralizes diff output, including coloring information, in one file. or something like that.