color_parse: do not mention variable name in error message
commitf6c5a2968c103621adf6928a29e4895361eaa23b
authorJeff King <peff@peff.net>
Tue, 7 Oct 2014 19:33:09 +0000 (7 15:33 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 14 Oct 2014 18:01:21 +0000 (14 11:01 -0700)
tree60259098fe84c3a71ad16aea43d2dbfb38dd0ee3
parent8852117a603c5ed5131233a80453db37c0958871
color_parse: do not mention variable name in error message

Originally the color-parsing function was used only for
config variables. It made sense to pass the variable name so
that the die() message could be something like:

  $ git -c color.branch.plain=bogus branch
  fatal: bad color value 'bogus' for variable 'color.branch.plain'

These days we call it in other contexts, and the resulting
error messages are a little confusing:

  $ git log --pretty='%C(bogus)'
  fatal: bad color value 'bogus' for variable '--pretty format'

  $ git config --get-color foo.bar bogus
  fatal: bad color value 'bogus' for variable 'command line'

This patch teaches color_parse to complain only about the
value, and then return an error code. Config callers can
then propagate that up to the config parser, which mentions
the variable name. Other callers can provide a custom
message. After this patch these three cases now look like:

  $ git -c color.branch.plain=bogus branch
  error: invalid color value: bogus
  fatal: unable to parse 'color.branch.plain' from command-line config

  $ git log --pretty='%C(bogus)'
  error: invalid color value: bogus
  fatal: unable to parse --pretty format

  $ git config --get-color foo.bar bogus
  error: invalid color value: bogus
  fatal: unable to parse default color value

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/branch.c
builtin/clean.c
builtin/commit.c
builtin/config.c
builtin/for-each-ref.c
color.c
color.h
diff.c
grep.c
log-tree.c
pretty.c