From: Soukaina NAIT HMID <nhsoukaina@gmail.com>
To: git@vger.kernel.org
Subject: [add-default-config 4/5] add defaults for path/int/bool
Date: Sun, 12 Nov 2017 15:00:40 +0000 [thread overview]
Message-ID: <0102015fb0bf3086-fe6c887d-592b-45f0-8f8e-bdbe2d18a218-000000@eu-west-1.amazonses.com> (raw)
In-Reply-To: <0102015fb0bf2f74-cb456171-fe65-4d83-8784-b553c7c9e584-000000@eu-west-1.amazonses.com>
From: Soukaina NAIT HMID <snaithmid@bloomberg.net>
Signed-off-by: Soukaina NAIT HMID <snaithmid@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
next prev parent reply other threads:[~2017-11-12 15:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-12 15:00 [add-default-config 1/5] add --color option to git config Soukaina NAIT HMID
2017-11-12 15:00 ` [add-default-config 5/5] fix return code on default + add tests Soukaina NAIT HMID
2017-11-12 16:04 ` Jeff King
2017-11-12 15:00 ` Soukaina NAIT HMID [this message]
2017-11-12 15:45 ` [add-default-config 4/5] add defaults for path/int/bool Jeff King
2017-11-12 15:00 ` [add-default-config 3/5] add same test for new command format with --default and --color Soukaina NAIT HMID
2017-11-12 15:37 ` Jeff King
2017-11-12 15:00 ` [add-default-config 2/5] adding default to color Soukaina NAIT HMID
2017-11-12 15:37 ` Jeff King
2017-11-13 3:40 ` Junio C Hamano
2017-11-13 3:55 ` Jeff King
2017-11-12 15:22 ` [add-default-config 1/5] add --color option to git config Jeff King
2017-11-28 21:43 ` [add-default-config] add --default " Soukaina NAIT HMID
2017-12-02 20:33 ` Philip Oakley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0102015fb0bf3086-fe6c887d-592b-45f0-8f8e-bdbe2d18a218-000000@eu-west-1.amazonses.com \
--to=nhsoukaina@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).