Browse Source

provide --color option for all ref-filter users

When ref-filter learned about want_color() in 11b087adfd
(ref-filter: consult want_color() before emitting colors,
2017-07-13), it became useful to be able to turn colors off
and on for specific commands. For git-branch, you can do so
with --color/--no-color.

But for git-for-each-ref and git-tag, the other users of
ref-filter, you have no option except to tweak the
"color.ui" config setting. Let's give both of these commands
the usual color command-line options.

This is a bit more obvious as a method for overriding the
config. And it also prepares us for the behavior of "always"
changing (so that we are still left with a way of forcing
color when our output goes to a non-terminal).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jeff King 7 years ago committed by Junio C Hamano
parent
commit
0c88bf5050
  1. 5
      Documentation/git-for-each-ref.txt
  2. 5
      Documentation/git-tag.txt
  3. 1
      builtin/for-each-ref.c
  4. 1
      builtin/tag.c
  5. 4
      t/t6300-for-each-ref.sh
  6. 4
      t/t7004-tag.sh

5
Documentation/git-for-each-ref.txt

@ -55,6 +55,11 @@ OPTIONS @@ -55,6 +55,11 @@ OPTIONS
literally, in the latter case matching completely or from the
beginning up to a slash.

--color[=<when>]:
Respect any colors specified in the `--format` option. The
`<when>` field must be one of `always`, `never`, or `auto` (if
`<when>` is absent, behave as if `always` was given).

--shell::
--perl::
--python::

5
Documentation/git-tag.txt

@ -115,6 +115,11 @@ options for details. @@ -115,6 +115,11 @@ options for details.
variable if it exists, or lexicographic order otherwise. See
linkgit:git-config[1].

--color[=<when>]:
Respect any colors specified in the `--format` option. The
`<when>` field must be one of `always`, `never`, or `auto` (if
`<when>` is absent, behave as if `always` was given).

-i::
--ignore-case::
Sorting and filtering tags are case insensitive.

1
builtin/for-each-ref.c

@ -36,6 +36,7 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix) @@ -36,6 +36,7 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
OPT_GROUP(""),
OPT_INTEGER( 0 , "count", &maxcount, N_("show only <n> matched refs")),
OPT_STRING( 0 , "format", &format.format, N_("format"), N_("format to use for the output")),
OPT__COLOR(&format.use_color, N_("respect format colors")),
OPT_CALLBACK(0 , "sort", sorting_tail, N_("key"),
N_("field name to sort on"), &parse_opt_ref_sorting),
OPT_CALLBACK(0, "points-at", &filter.points_at,

1
builtin/tag.c

@ -411,6 +411,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix) @@ -411,6 +411,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
},
OPT_STRING( 0 , "format", &format.format, N_("format"),
N_("format to use for the output")),
OPT__COLOR(&format.use_color, N_("respect format colors")),
OPT_BOOL('i', "ignore-case", &icase, N_("sorting and filtering are case insensitive")),
OPT_END()
};

4
t/t6300-for-each-ref.sh

@ -435,8 +435,8 @@ test_expect_success '%(color) does not show color without tty' ' @@ -435,8 +435,8 @@ test_expect_success '%(color) does not show color without tty' '
test_cmp expected.bare actual
'

test_expect_success 'color.ui=always can override tty check' '
git -c color.ui=always for-each-ref --format="$color_format" >actual.raw &&
test_expect_success '--color can override tty check' '
git for-each-ref --color --format="$color_format" >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expected.color actual
'

4
t/t7004-tag.sh

@ -1919,8 +1919,8 @@ test_expect_success TTY '%(color) present with tty' ' @@ -1919,8 +1919,8 @@ test_expect_success TTY '%(color) present with tty' '
test_cmp expect.color actual
'

test_expect_success 'color.ui=always overrides auto-color' '
git -c color.ui=always tag $color_args >actual.raw &&
test_expect_success '--color overrides auto-color' '
git tag --color $color_args >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expect.color actual
'

Loading…
Cancel
Save