From: Soukaina NAIT HMID <snaith...@bloomberg.net> Signed-off-by: Soukaina NAIT HMID <snaith...@bloomberg.net> --- builtin/config.c | 12 ++++- t/t4026-color2.sh | 129 ------------------------------------------------------ 2 files changed, 11 insertions(+), 130 deletions(-) delete mode 100755 t/t4026-color2.sh
diff --git a/builtin/config.c b/builtin/config.c index 9df2d9c43bcad..eab81c5627091 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -55,6 +55,8 @@ static const char *default_value; #define TYPE_BOOL_OR_INT (1<<2) #define TYPE_PATH (1<<3) +static char *normalize_value(const char *key, const char *value); + static struct option builtin_config_options[] = { OPT_GROUP(N_("Config file location")), OPT_BOOL(0, "global", &use_global_config, N_("use global config file")), @@ -256,8 +258,15 @@ static int get_value(const char *key_, const char *regex_) fwrite(buf->buf, 1, buf->len, stdout); strbuf_release(buf); } - free(values.items); + if (values.nr == 0 && default_value) { + if(types == TYPE_INT || types == TYPE_BOOL || types == TYPE_BOOL_OR_INT || types == TYPE_PATH ) { + char* xstr = normalize_value(key, default_value); + fwrite(xstr, 1, strlen(xstr), stdout); + fwrite("\n", 1, 1, stdout); + } + } + free(values.items); free_strings: free(key); if (key_regexp) { @@ -272,6 +281,7 @@ static int get_value(const char *key_, const char *regex_) return ret; } + static char *normalize_value(const char *key, const char *value) { if (!value) diff --git a/t/t4026-color2.sh b/t/t4026-color2.sh deleted file mode 100755 index 695ce9dd6f8d4..0000000000000 --- a/t/t4026-color2.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2008 Timo Hirvonen -# - -test_description='Test diff/status color escape codes' -. ./test-lib.sh - -ESC=$(printf '\033') -color() -{ - actual=$(git config --default "$1" --color no.such.slot) && - test "$actual" = "${2:+$ESC}$2" -} - -invalid_color() -{ - test_must_fail git config --get-color no.such.slot "$1" -} - -test_expect_success 'reset' ' - color "reset" "[m" -' - -test_expect_success 'empty color is empty' ' - color "" "" -' - -test_expect_success 'attribute before color name' ' - color "bold red" "[1;31m" -' - -test_expect_success 'color name before attribute' ' - color "red bold" "[1;31m" -' - -test_expect_success 'attr fg bg' ' - color "ul blue red" "[4;34;41m" -' - -test_expect_success 'fg attr bg' ' - color "blue ul red" "[4;34;41m" -' - -test_expect_success 'fg bg attr' ' - color "blue red ul" "[4;34;41m" -' - -test_expect_success 'fg bg attr...' ' - color "blue bold dim ul blink reverse" "[1;2;4;5;7;34m" -' - -# note that nobold and nodim are the same code (22) -test_expect_success 'attr negation' ' - color "nobold nodim noul noblink noreverse" "[22;24;25;27m" -' - -test_expect_success '"no-" variant of negation' ' - color "no-bold no-blink" "[22;25m" -' - -test_expect_success 'long color specification' ' - color "254 255 bold dim ul blink reverse" "[1;2;4;5;7;38;5;254;48;5;255m" -' - -test_expect_success 'absurdly long color specification' ' - color \ - "#ffffff #ffffff bold nobold dim nodim italic noitalic - ul noul blink noblink reverse noreverse strike nostrike" \ - "[1;2;3;4;5;7;9;22;23;24;25;27;29;38;2;255;255;255;48;2;255;255;255m" -' - -test_expect_success '0-7 are aliases for basic ANSI color names' ' - color "0 7" "[30;47m" -' - -test_expect_success '256 colors' ' - color "254 bold 255" "[1;38;5;254;48;5;255m" -' - -test_expect_success '24-bit colors' ' - color "#ff00ff black" "[38;2;255;0;255;40m" -' - -test_expect_success '"normal" yields no color at all"' ' - color "normal black" "[40m" -' - -test_expect_success '-1 is a synonym for "normal"' ' - color "-1 black" "[40m" -' - -test_expect_success 'color too small' ' - invalid_color "-2" -' - -test_expect_success 'color too big' ' - invalid_color "256" -' - -test_expect_success 'extra character after color number' ' - invalid_color "3X" -' - -test_expect_success 'extra character after color name' ' - invalid_color "redX" -' - -test_expect_success 'extra character after attribute' ' - invalid_color "dimX" -' - -test_expect_success 'unknown color slots are ignored (diff)' ' - git config color.diff.nosuchslotwilleverbedefined white && - git diff --color -' - -test_expect_success 'unknown color slots are ignored (branch)' ' - git config color.branch.nosuchslotwilleverbedefined white && - git branch -a -' - -test_expect_success 'unknown color slots are ignored (status)' ' - git config color.status.nosuchslotwilleverbedefined white && - { git status; ret=$?; } && - case $ret in 0|1) : ok ;; *) false ;; esac -' - -test_done -- https://github.com/git/git/pull/431