Thomas Rast <trast@xxxxxxxxxxxxxxx> writes: > This teaches the --color-words engine a more general interface that > supports two new modes: > > * --word-diff=plain, inspired by the 'wdiff' utility (most similar to > 'wdiff -n <old> <new>'): uses delimiters [-removed-] and {+added+} > > * --word-diff=porcelain, which generates an ad-hoc machine readable > format: > - each diff unit is prefixed by [-+ ] and terminated by newline as > in unified diff > - newlines in the input are output as a line consisting only of a > tilde '~' Thanks. This was a fun feature to look at. I think it is a bug that "git show --word-diff" gives the colored format output when I have "color.ui" configuration. Even though I may have "color.ui = auto" in the configuration, I am telling the command to do a --word-diff, not --color-words, from the command line, and that should override color.ui settings. So I think a request for --word-diff that is not --word-diff=color should never use the --color-words _unless_ there is --color on the command line: git show --word-diff git show --word-diff=plain git show --word-diff=porcelain All of the above may paint hunk headers and metainfo the usual way when I have "color.ui" set, but I do not want them to be painting the diff part like --color-words does. I am fine if "porcelain" did not to paint the metainfo, but I see this feature as three different output types of how word diff is presented, so in that sense, it probably is better to force scripts to explicitly ask for no-color, i.e. git show --no-color --word-diff=porcelain if they want to read and interpret metainfo. When the command line asks for color explicitly, then we should see the good old --color-words: git show --color-words git show --word-diff=color I am not sure what the following two should do. One could argue that these default to --color-words; or --color should apply only to the coloring of metainfo but not the diff part: git show --color --word-diff git show --word-diff --color I am slightly in favor of doing the same as --color-words, but people may have different opinions. The following of course should show the plain word diff but the metainfo and friends colored: git show --word-diff=plain --color git show --color --word-diff=plain It might be just the matter of defaulting --word-diff without "=<type>" not to "auto" but to "plain". I haven't looked at the code closely yet. -- 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