diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-12-10 16:13:14 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-12-10 16:13:14 -0800 |
commit | 7bf040c5bfcac4f9efe9b3fc9879756728fc098f (patch) | |
tree | 1a4c6088ed27040513eadf5ddd8d64c57e9a75fa | |
parent | aa78384156e3f6b391e88bbf13d3fae19f50750c (diff) | |
parent | b2be2f6aeaa8f4af602679e5571d2e916a259d91 (diff) | |
download | git-7bf040c5bfcac4f9efe9b3fc9879756728fc098f.tar.gz |
Merge branch 'jk/maint-decorate-01-bool' into maint
* jk/maint-decorate-01-bool:
log.decorate: accept 0/1 bool values
-rw-r--r-- | config.c | 16 | ||||
-rwxr-xr-x | t/t4202-log.sh | 9 |
2 files changed, 23 insertions, 2 deletions
@@ -410,7 +410,7 @@ unsigned long git_config_ulong(const char *name, const char *value) return ret; } -int git_config_maybe_bool(const char *name, const char *value) +static int git_config_maybe_bool_text(const char *name, const char *value) { if (!value) return 1; @@ -427,9 +427,21 @@ int git_config_maybe_bool(const char *name, const char *value) return -1; } +int git_config_maybe_bool(const char *name, const char *value) +{ + int v = git_config_maybe_bool_text(name, value); + if (0 <= v) + return v; + if (!strcmp(value, "0")) + return 0; + if (!strcmp(value, "1")) + return 1; + return -1; +} + int git_config_bool_or_int(const char *name, const char *value, int *is_bool) { - int v = git_config_maybe_bool(name, value); + int v = git_config_maybe_bool_text(name, value); if (0 <= v) { *is_bool = 1; return v; diff --git a/t/t4202-log.sh b/t/t4202-log.sh index 2e51356947..2043bb8867 100755 --- a/t/t4202-log.sh +++ b/t/t4202-log.sh @@ -422,6 +422,15 @@ test_expect_success 'log.decorate configuration' ' test_cmp expect.full actual && git config --unset-all log.decorate && + git config log.decorate 1 && + git log --oneline >actual && + test_cmp expect.short actual && + git log --oneline --decorate=full >actual && + test_cmp expect.full actual && + git log --oneline --decorate=no >actual && + test_cmp expect.none actual && + + git config --unset-all log.decorate && git config log.decorate short && git log --oneline >actual && test_cmp expect.short actual && |