Junio C Hamano wrote: > Jonathan Nieder <jrnieder@xxxxxxxxx> writes: >> Should we document this special case treatment of color.* in -c >> somewhere? E.g. > > Perhaps, although I'd save that until we actually add the new option > to "git" potty, which hasn't happened yet, if I were thinking about > adding some text like that. Also I'd call that --default-color=always > or something like that, to avoid having to answer: what are the > differences between these two --color thing in the following? > > git --color=foo cmd --color=bar I agree that the color.status text in the example doc is unfortunate. But the surprising thing I found when writing that doc is that color.status ("git status", "git commit --dry-run") and color.interactive are the only items that needed it (aside from color.ui that needed it for those two). All the other commands that use color already accept git cmd --color=bar color.interactive applies to multiple commands (e.g. "git clean"), so it would take a little more chasing down to make them all use OPT__COLOR. Heading off to sleep, can look more tomorrow. I don't think we can get around documenting this -c special case behavior, though. diff --git i/builtin/commit.c w/builtin/commit.c index d75b3805ea..fc5b7cd538 100644 --- i/builtin/commit.c +++ w/builtin/commit.c @@ -1345,6 +1345,7 @@ int cmd_status(int argc, const char **argv, const char *prefix) struct object_id oid; static struct option builtin_status_options[] = { OPT__VERBOSE(&verbose, N_("be verbose")), + OPT__COLOR(&s.use_color, N_("use color")), OPT_SET_INT('s', "short", &status_format, N_("show status concisely"), STATUS_FORMAT_SHORT), OPT_BOOL('b', "branch", &s.show_branch, @@ -1595,6 +1596,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix) static struct option builtin_commit_options[] = { OPT__QUIET(&quiet, N_("suppress summary after successful commit")), OPT__VERBOSE(&verbose, N_("show diff in commit message template")), + OPT__COLOR(&s.use_color, N_("use color")), OPT_GROUP(N_("Commit message options")), OPT_FILENAME('F', "file", &logfile, N_("read message from file")),