Re: [PATCH 0/15] making user-format colors conditional on config/tty
From: Junio C Hamano <hidden>
Date: 2017-07-13 20:46:27
Jeff King [off-list ref] writes:
This version also takes into account feedback from the original thread. And as I added tests, it surfaced a few corner cases around color config that I've dealt with here. The last two patches are the most interesting bits. [01/15]: check return value of verify_ref_format() [02/15]: docs/for-each-ref: update pointer to color syntax [03/15]: t: use test_decode_color rather than literal ANSI codes [04/15]: ref-filter: simplify automatic color reset [05/15]: ref-filter: abstract ref format into its own struct [06/15]: ref-filter: move need_color_reset_at_eol into ref_format [07/15]: ref-filter: provide a function for parsing sort options [08/15]: ref-filter: make parse_ref_filter_atom a private function [09/15]: ref-filter: factor out the parsing of sorting atoms [10/15]: ref-filter: pass ref_format struct to atom parsers [11/15]: color: check color.ui in git_default_config() [12/15]: for-each-ref: load config earlier [13/15]: rev-list: pass diffopt->use_colors through to pretty-print [14/15]: pretty: respect color settings for %C placeholders [15/15]: ref-filter: consult want_color() before emitting colors
Overall I think the endgame is what we want to have in the future (rather, what I wish we had from the beginning). I'd have to think about 11, 14 and 15 a bit more before saying anything that would be remotely useful. Thanks.
Documentation/git-for-each-ref.txt | 6 +- Documentation/pretty-formats.txt | 18 ++++-- builtin/branch.c | 21 +++--- builtin/clean.c | 3 +- builtin/for-each-ref.c | 27 ++++---- builtin/grep.c | 2 +- builtin/rev-list.c | 1 + builtin/show-branch.c | 2 +- builtin/tag.c | 61 ++++++------------ builtin/verify-tag.c | 14 ++-- color.c | 8 --- config.c | 4 ++ diff.c | 3 - pretty.c | 27 ++++++-- ref-filter.c | 108 ++++++++++++++++++------------- ref-filter.h | 30 +++++++-- t/t3203-branch-output.sh | 31 +++++++++ t/t4207-log-decoration-colors.sh | 22 +++---- t/t6006-rev-list-format.sh | 129 ++++++++++++++++++++++++------------- t/t6300-for-each-ref.sh | 39 +++++++---- t/t7004-tag.sh | 25 +++++++ t/test-lib-functions.sh | 1 + 22 files changed, 362 insertions(+), 220 deletions(-) -Peff